Guide de migration vers MicroPython 2.0

MicroPython 2.0 est la prochaine version majeure de MicroPython (actuellement en développement, pas encore disponible).

Après avoir maintenu la compatibilité de l’API pendant près d’une décennie avec la série 1.x, et afin de débloquer certaines améliorations à l’échelle du projet, MicroPython 2.0 introduira un petit nombre de changements d’API non rétrocompatibles qui nécessiteront la mise à jour de certains programmes. Ce guide explique comment mettre à jour votre code Python pour tenir compte de ces changements.

Ce document est un travail en cours. Au fur et à mesure de l’avancement des travaux sur MicroPython 2.0, d’autres éléments seront ajoutés aux listes ci-dessous.

Note : Il n’existe actuellement aucune compilation de micrologiciel MicroPython 2.0 disponible au téléchargement. Vous pouvez la compiler vous-même en activant l’option de configuration MICROPY_PREVIEW_VERSION_2. À mesure que la sortie approchera, des compilations seront fournies à la fois pour 1.x.y et 2.0.0-preview.

Matériel et périphériques

Vue d’ensemble

L’objectif est d’améliorer la cohérence des API machine entre les différents ports, ce qui facilite l’écriture de code, de documentation et de tutoriels qui fonctionnent sur n’importe quel microcontrôleur pris en charge.

Cela signifie que les API de certains ports devront changer pour correspondre à celles d’autres ports.

Changements

Aucun pour l’instant

OS et système de fichiers

Vue d’ensemble

L’objectif principal est de permettre d’exécuter les fichiers .mpy directement depuis le système de fichiers sans les copier au préalable en RAM. Cela améliore le temps de déploiement du code et réduit la surcharge mémoire et la fragmentation.

De plus, un autre objectif est de permettre une manière plus flexible de configurer les partitions, les types de système de fichiers et des options comme le stockage de masse USB.

Changements

Aucun pour l’instant

Compatibilité avec CPython

Vue d’ensemble

L’objectif est d’améliorer la compatibilité avec CPython en supprimant les extensions MicroPython des API de CPython. Dans la plupart des cas, cela signifie déplacer des fonctions ou des classes spécifiques à MicroPython vers de nouveaux modules.

Cela facilite l’écriture de code fonctionnant à la fois sur CPython et MicroPython, ce qui est utile pour le développement et les tests.

Changements

Introduction d’un nouveau module vfs. Les fonctions et classes suivantes ont été déplacées de os vers vfs :

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix