Ghid de migrare către MicroPython 2.0

MicroPython 2.0 este următoarea versiune majoră (aflată în prezent în dezvoltare, încă nedisponibilă) a MicroPython.

După ce a menținut compatibilitatea API timp de aproape un deceniu cu seria 1.x, pentru a debloca unele îmbunătățiri la nivel de proiect, MicroPython 2.0 va introduce un număr mic de modificări de API care întrerup compatibilitatea și care vor necesita actualizarea unor programe. Acest ghid explică modul de actualizare a codului dumneavoastră Python pentru a se adapta acestor modificări.

Acest document este în lucru. Pe măsură ce se lucrează mai mult la MicroPython 2.0, vor fi adăugate mai multe elemente la listele de mai jos.

Notă: În prezent nu există versiuni de firmware MicroPython 2.0 disponibile pentru descărcare. O puteți compila singur activând opțiunea de configurare MICROPY_PREVIEW_VERSION_2. Pe măsură ce se apropie de a fi gata pentru lansare, vor fi furnizate versiuni atât pentru 1.x.y cât și pentru 2.0.0-preview.

Hardware și periferice

Prezentare generală

Scopul este de a îmbunătăți consecvența API-urilor machine între diferite porturi, facilitând scrierea de cod, documentație și tutoriale care funcționează pe orice microcontroler suportat.

Aceasta înseamnă că API-urile unor porturi trebuie să se schimbe pentru a corespunde altor porturi.

Modificări

Încă niciuna

Sistemul de operare și sistemul de fișiere

Prezentare generală

Scopul principal este de a suporta capacitatea de a executa fișiere .mpy direct din sistemul de fișiere fără a le copia mai întâi în RAM. Acest lucru îmbunătățește timpul de implementare a codului și reduce supraîncărcarea memoriei și fragmentarea.

În plus, un alt scop este de a suporta o modalitate mai flexibilă de configurare a partițiilor, a tipurilor de sistem de fișiere și a opțiunilor precum stocarea în masă USB.

Modificări

Încă niciuna

Compatibilitate cu CPython

Prezentare generală

Scopul este de a îmbunătăți compatibilitatea cu CPython prin eliminarea extensiilor MicroPython din API-urile CPython. În majoritatea cazurilor, acest lucru înseamnă mutarea funcțiilor sau claselor specifice MicroPython existente în module noi.

Acest lucru facilitează scrierea de cod care funcționează atât pe CPython, cât și pe MicroPython, ceea ce este util pentru dezvoltare și testare.

Modificări

Introducerea unui nou modul vfs. Următoarele funcții și clase au fost mutate din os în vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix