MicroPython 1.12 : ajout du support de LittleFS

Une nouvelle release de MicroPython a été publiée... nous arrivons à la version 1.12.

Quoi de neuf?
Pas mal d'optimisation autour du Firmware pour économiser de la Flash et de la RAM. Par contre, il y a quelques points digne d'intérêt:
  • Support for BLE (Bluetooth Low Energy), bienvenu pour la Pyboard-D.
  • Apparition de LittleFS : un système de fichier économe en ressource, distribuant les écritures sur l'espace de stockage et tolérant au chute de tension.
  • Support de SAMD
  • Réduction du Byte Code
  • Methode read_u16() pour le convertisseur ADC.
et bien d'autre choses que vous pouvez découvrir sur cette annonce.

Support de SAMD
Je n'avais pas encore remarqué de support SAMD mais pour moi, c'est digne d'intérêt.
Cela permet de téléverser MicroPython sur les plateformes Metro M0 Express d'Adafruit Industrie... 

J'attendais cela depuis longtemps, il faudra cependant passer par l'étape de compilation de MicroPython parce qu'il n'y a pas encore de firmware SAMD compilé proposé sur MicroPython.org. Cela devient intéressant.
 
Support LittleFS
LittleFS : Little Fail Safe file system est système de fichier à forte tolérance de panne, quelque-chose de primordial pour les application Internet des objets (IoT).
LittleFs distribue les écritures sur le support, ce que ne fait pas FAT. Son implémentation consomme moins de Flash mais aussi moins de RAM.
Cela permet, par exemple, de gagner 4K de RAM sur un ESP8266.


MBed à produit un document intéressant sur le LittleFS "LittleFS - A high-integrity embedded file system" et le forum de MicroPython dispose aussi d'un fils de discussion sur LittleFS.

Ce nouveau système de fichiers apporte quand même un inconvénient: il ne permet pas à l'ordinateur d'accéder au système de fichier LittleFS via USB... sauf s'il dispose d'un pilote (le support FAT étant pris en charge par tous les OS).

Les utilisateurs d'outil comme RShell seront, eux, tout à fait à l'aise puisque rien ne change pour eux.

Réduction du ByteCode
Il y a une réduction notable de la taille du ByteCode grâce à la compression du prélude ByteCode. Cela permet de faire l'économie de 7 octets par fonction. Comme cela concerne pas loin de 80% des fonctions, cela va permettre d'économiser pas mal de Flash.

Lecture analogique 16 bits
Une nouvelle méthode machine.ADC.read_u16() est définie et implémentée sur les port STM32, ESP8266, ESP32, nrf. Elle offre une approche plus uniforme pour réaliser des lectures analogiques retournant une valeur entre 0 et 65535.
MicroPython recommande cette nouvelle méthode à la place de ADC.read() .

Aucun commentaire