Vodič za migraciju na MicroPython 2.0

MicroPython 2.0 je sljedeće glavno izdanje MicroPythona (trenutno u razvoju, još nije dostupno).

Nakon održavanja kompatibilnosti API-ja gotovo cijelo desetljeće sa serijom 1.x, kako bi se deblokirala neka poboljšanja na razini cijelog projekta, MicroPython 2.0 uvest će mali broj prekida kompatibilnosti API-ja koji će zahtijevati ažuriranje nekih programa. Ovaj vodič objašnjava kako ažurirati vaš Python kod da bi se prilagodio tim promjenama.

Ovaj dokument je u izradi. Kako se bude obavljalo više rada na MicroPythonu 2.0, na popise u nastavku dodavat će se više stavki.

Napomena: Trenutno nema dostupnih MicroPython 2.0 izgradnji ugrađenog programa (firmware) za preuzimanje. Možete ga sami izgraditi omogućavanjem konfiguracijske opcije MICROPY_PREVIEW_VERSION_2. Kako se bude približavalo spremnosti za izdanje, bit će pružene izgradnje i za 1.x.y i za 2.0.0-preview.

Hardver i periferija

Pregled

Cilj je poboljšati dosljednost machine API-ja na različitim portovima, čineći lakšim pisanje koda, dokumentacije i vodiča koji rade na bilo kojem podržanom mikrokontroleru.

To znači da neki API-ji portova trebaju biti promijenjeni kako bi odgovarali drugim portovima.

Promjene

Još ništa

OS i datotečni sustav

Pregled

Primarni cilj je podržati mogućnost izvršavanja .mpy datoteka izravno iz datotečnog sustava bez prethodnog kopiranja u RAM. To poboljšava vrijeme implementacije koda te smanjuje opterećenje memorije i fragmentaciju.

Dodatno, daljnji je cilj podržati fleksibilniji način konfiguriranja particija, tipova datotečnih sustava i opcija poput USB masovne pohrane.

Promjene

Još ništa

CPython kompatibilnost

Pregled

Cilj je poboljšati kompatibilnost s CPythonom uklanjanjem MicroPython proširenja iz CPython API-ja. U većini slučajeva to znači premještanje postojećih funkcija ili klasa specifičnih za MicroPython u nove module.

To olakšava pisanje koda koji radi i na CPythonu i na MicroPythonu, što je korisno za razvoj i testiranje.

Promjene

Uvođenje novog modula vfs. Sljedeće funkcije i klase premještene su iz os u vfs:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix