Migratiegids voor MicroPython 2.0¶
MicroPython 2.0 is de (momenteel in ontwikkeling zijnde, nog niet beschikbare) volgende grote release van MicroPython.
Na bijna een decennium API-compatibiliteit te hebben gehandhaafd met de 1.x-reeks, introduceert MicroPython 2.0 een klein aantal niet-achterwaarts-compatibele API-wijzigingen om enkele projectbrede verbeteringen mogelijk te maken; hierdoor zullen sommige programma’s moeten worden bijgewerkt. Deze gids legt uit hoe u uw Python-code kunt bijwerken om deze wijzigingen op te vangen.
Dit document is een work-in-progress. Naarmate er meer werk aan MicroPython 2.0 wordt verricht, worden er meer items toegevoegd aan de onderstaande lijsten.
Opmerking: er zijn momenteel geen firmware-builds van MicroPython 2.0 beschikbaar om te downloaden. U kunt het zelf bouwen door de configuratieoptie MICROPY_PREVIEW_VERSION_2 in te schakelen. Naarmate het dichter bij gereedheid voor release komt, worden er builds aangeboden voor zowel 1.x.y als 2.0.0-preview.
Hardware en randapparaten¶
Overzicht¶
Het doel is om de consistentie in de machine-API’s tussen verschillende ports te verbeteren, zodat het eenvoudiger wordt om code, documentatie en tutorials te schrijven die op elke ondersteunde microcontroller werken.
Dit betekent dat de API’s van sommige ports moeten worden gewijzigd om overeen te komen met andere ports.
Wijzigingen¶
Nog geen
OS en bestandssysteem¶
Overzicht¶
Het primaire doel is het ondersteunen van de mogelijkheid om .mpy-bestanden rechtstreeks vanaf het bestandssysteem uit te voeren zonder ze eerst naar RAM te kopiëren. Dit verbetert de implementatietijd van code en vermindert de geheugenoverhead en fragmentatie.
Daarnaast is een verder doel het ondersteunen van een flexibelere manier om partities, bestandssysteemtypen en opties zoals USB-massaopslag te configureren.
Wijzigingen¶
Nog geen
CPython-compatibiliteit¶
Overzicht¶
Het doel is om de compatibiliteit met CPython te verbeteren door MicroPython-uitbreidingen uit CPython-API’s te verwijderen. In de meeste gevallen betekent dit het verplaatsen van bestaande MicroPython-specifieke functies of klassen naar nieuwe modules.
Dit maakt het eenvoudiger om code te schrijven die zowel op CPython als MicroPython werkt, wat nuttig is voor ontwikkeling en testen.
Wijzigingen¶
Introductie van een nieuwe module vfs. De volgende functies en klassen zijn verplaatst van os naar vfs:
os.mountos.umountos.VfsFatos.VfsLfs1os.VfsLfs2os.VfsPosix