Przewodnik migracji do MicroPython 2.0

MicroPython 2.0 to kolejne główne wydanie MicroPython (obecnie w fazie rozwoju, jeszcze niedostępne).

Po utrzymywaniu zgodności API przez prawie dekadę w serii 1.x, aby odblokować pewne ulepszenia obejmujące cały projekt, MicroPython 2.0 wprowadzi niewielką liczbę przełomowych zmian w API, które będą wymagać aktualizacji niektórych programów. Ten przewodnik wyjaśnia, jak zaktualizować Twój kod Python, aby uwzględnić te zmiany.

Ten dokument jest w trakcie tworzenia. W miarę postępu prac nad MicroPython 2.0 do poniższych list będą dodawane kolejne pozycje.

Uwaga: Obecnie nie są dostępne do pobrania żadne kompilacje oprogramowania układowego MicroPython 2.0. Możesz zbudować je samodzielnie, włączając opcję konfiguracji MICROPY_PREVIEW_VERSION_2. W miarę zbliżania się do gotowości wydania udostępniane będą kompilacje zarówno dla 1.x.y, jak i 2.0.0-preview.

Sprzęt i urządzenia peryferyjne

Przegląd

Celem jest poprawa spójności API machine w różnych portach, co ułatwi pisanie kodu, dokumentacji i samouczków działających na dowolnym obsługiwanym mikrokontrolerze.

Oznacza to, że API niektórych portów muszą się zmienić, aby dopasować się do innych portów.

Zmiany

Jeszcze brak

System operacyjny i system plików

Przegląd

Głównym celem jest umożliwienie wykonywania plików .mpy bezpośrednio z systemu plików bez uprzedniego kopiowania ich do pamięci RAM. Poprawia to czas wdrażania kodu oraz zmniejsza obciążenie pamięci i fragmentację.

Dodatkowo kolejnym celem jest wsparcie bardziej elastycznego sposobu konfigurowania partycji, typów systemów plików oraz opcji takich jak pamięć masowa USB.

Zmiany

Jeszcze brak

Zgodność z CPython

Przegląd

Celem jest poprawa zgodności z CPython poprzez usunięcie rozszerzeń MicroPython z API CPython. W większości przypadków oznacza to przeniesienie istniejących funkcji lub klas specyficznych dla MicroPython do nowych modułów.

Ułatwia to pisanie kodu działającego zarówno na CPython, jak i MicroPython, co jest przydatne podczas programowania i testowania.

Zmiany

Wprowadzenie nowego modułu vfs. Następujące funkcje i klasy zostały przeniesione z os do vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix