Migrationsleitfaden für MicroPython 2.0

MicroPython 2.0 ist das (derzeit in Entwicklung befindliche, noch nicht verfügbare) nächste Major-Release von MicroPython.

Nachdem fast ein Jahrzehnt lang die API-Kompatibilität mit der 1.x-Reihe aufrechterhalten wurde, wird MicroPython 2.0 eine kleine Anzahl von API-Änderungen einführen, die die Kompatibilität brechen und für einige Programme Aktualisierungen erforderlich machen, um projektweite Verbesserungen zu ermöglichen. Dieser Leitfaden erklärt, wie Sie Ihren Python-Code an diese Änderungen anpassen.

Dieses Dokument befindet sich in Bearbeitung. Mit fortschreitender Arbeit an MicroPython 2.0 werden weitere Punkte zu den untenstehenden Listen hinzugefügt.

Hinweis: Derzeit stehen keine MicroPython-2.0-Firmware-Builds zum Download bereit. Sie können sie selbst erstellen, indem Sie die Konfigurationsoption MICROPY_PREVIEW_VERSION_2 aktivieren. Wenn die Veröffentlichung näher rückt, werden Builds sowohl für 1.x.y als auch für 2.0.0-preview bereitgestellt.

Hardware und Peripheriegeräte

Überblick

Das Ziel besteht darin, die Konsistenz der machine-APIs über verschiedene Ports hinweg zu verbessern, sodass es einfacher wird, Code, Dokumentation und Tutorials zu schreiben, die auf jedem unterstützten Mikrocontroller funktionieren.

Das bedeutet, dass sich die APIs einiger Ports ändern müssen, um an andere Ports angeglichen zu werden.

Änderungen

Noch keine

Betriebssystem und Dateisystem

Überblick

Das primäre Ziel besteht darin, die Möglichkeit zu unterstützen, .mpy-Dateien direkt aus dem Dateisystem auszuführen, ohne sie zuerst in den RAM zu kopieren. Dies verbessert die Bereitstellungszeit von Code und reduziert Speicher-Overhead und Fragmentierung.

Darüber hinaus besteht ein weiteres Ziel darin, eine flexiblere Möglichkeit zur Konfiguration von Partitionen, Dateisystemtypen und Optionen wie USB-Massenspeicher zu unterstützen.

Änderungen

Noch keine

CPython-Kompatibilität

Überblick

Das Ziel besteht darin, die Kompatibilität mit CPython zu verbessern, indem MicroPython-Erweiterungen aus den CPython-APIs entfernt werden. In den meisten Fällen bedeutet dies, dass vorhandene MicroPython-spezifische Funktionen oder Klassen in neue Module verschoben werden.

Dies erleichtert das Schreiben von Code, der sowohl auf CPython als auch auf MicroPython funktioniert, was für Entwicklung und Tests nützlich ist.

Änderungen

Einführung eines neuen Moduls vfs. Die folgenden Funktionen und Klassen wurden aus os nach vfs verschoben:

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix