Migreringsguide för MicroPython 2.0

MicroPython 2.0 är nästa större version av MicroPython (för närvarande under utveckling, ännu inte tillgänglig).

Efter att ha bibehållit API-kompatibilitet i nästan ett decennium med 1.x-serien kommer MicroPython 2.0, för att möjliggöra vissa projektomfattande förbättringar, att introducera ett litet antal API-ändringar som bryter bakåtkompatibiliteten och som kräver att en del program uppdateras. Den här guiden förklarar hur du uppdaterar din Python-kod för att hantera dessa ändringar.

Detta dokument är ett pågående arbete. I takt med att mer arbete görs på MicroPython 2.0 läggs fler poster till i listorna nedan.

Obs: Det finns för närvarande inga firmware-byggen av MicroPython 2.0 tillgängliga för nedladdning. Du kan bygga det själv genom att aktivera konfigurationsalternativet MICROPY_PREVIEW_VERSION_2. När det närmar sig att vara klart för release kommer byggen att tillhandahållas för både 1.x.y och 2.0.0-preview.

Hårdvara och kringutrustning

Översikt

Målet är att förbättra konsekvensen i machine-API:erna mellan olika portar, vilket gör det enklare att skriva kod, dokumentation och handledningar som fungerar på alla mikrokontroller som stöds.

Detta innebär att vissa portars API:er behöver ändras för att matcha andra portar.

Ändringar

Inga ännu

OS och filsystem

Översikt

Det primära målet är att stödja möjligheten att köra .mpy-filer direkt från filsystemet utan att först kopiera dem till RAM. Detta förbättrar tiden för kodutrullning och minskar minnesåtgång och fragmentering.

Dessutom är ett ytterligare mål att stödja ett mer flexibelt sätt att konfigurera partitioner, filsystemstyper och alternativ som USB-masslagring.

Ändringar

Inga ännu

CPython-kompatibilitet

Översikt

Målet är att förbättra kompatibiliteten med CPython genom att ta bort MicroPython-tillägg från CPython-API:erna. I de flesta fall innebär detta att befintliga MicroPython-specifika funktioner eller klasser flyttas till nya moduler.

Detta gör det enklare att skriva kod som fungerar på både CPython och MicroPython, vilket är användbart för utveckling och testning.

Ändringar

Introduktion av en ny modul vfs. Följande funktioner och klasser har flyttats ut ur os till vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix