Посібник з міграції MicroPython 2.0

MicroPython 2.0 — це наступний мажорний реліз MicroPython (наразі у розробці, ще недоступний).

Після підтримки сумісності API протягом майже десяти років у серії 1.x, для розблокування загальних покращень проекту MicroPython 2.0 введе невелику кількість критичних змін API, які вимагатимуть оновлення деяких програм. Цей посібник пояснює, як оновити ваш Python-код для адаптації до цих змін.

Цей документ знаходиться в стані розробки. У міру роботи над MicroPython 2.0 до наведених нижче списків додаватимуться нові пункти.

Примітка: Наразі жодних збірок мікропрограми MicroPython 2.0 для завантаження немає. Ви можете зібрати її самостійно, увімкнувши параметр конфігурації MICROPY_PREVIEW_VERSION_2. Коли реліз наблизиться до готовності, збірки будуть надані як для 1.x.y, так і для 2.0.0-preview.

Апаратне забезпечення та периферійні пристрої

Огляд

Мета — покращити узгодженість API machine на різних портах, що спростить написання коду, документації та посібників, які працюватимуть на будь-якому підтримуваному мікроконтролері.

Це означає, що API деяких портів потрібно змінити для відповідності іншим портам.

Зміни

Поки що немає

ОС та файлова система

Огляд

Основна мета — підтримка можливості виконання файлів .mpy files безпосередньо з файлової системи без попереднього копіювання в RAM. Це покращує час розгортання коду та зменшує витрати пам’яті та її фрагментацію.

Крім того, додаткова мета — підтримка більш гнучкого способу налаштування розділів, типів файлових систем та параметрів, таких як USB mass storage.

Зміни

Поки що немає

Сумісність із CPython

Огляд

Мета — покращити сумісність із CPython, видаливши розширення MicroPython з API CPython. У більшості випадків це означає перенесення наявних специфічних для MicroPython функцій або класів до нових модулів.

Це спрощує написання коду, який працює як на CPython, так і на MicroPython, що корисно для розробки та тестування.

Зміни

Введення нового модуля vfs. Такі функції та класи перенесено з os до vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix