v4.4.0¶
v4.4.0 ajoute une API tf.regression(), la prise en charge du FLIR Lepton sur l’OpenMV Cam H7 Pro, la prise en charge du coprocesseur Cortex-M4 sur l’Arduino Nicla Vision, et MicroPython 1.19. Quelques modules spécifiques à certaines cartes ainsi que des comportements WiFi/LCD ont changé — consultez les changements incompatibles ci-dessous.
Points forts¶
tf.regression()— exécute des modèles de régression TensorFlow Lite à entrée 1D / sortie 1D.Prise en charge du capteur thermique FLIR Lepton sur l’OpenMV Cam H7 Pro.
Arduino Nicla Vision — prise en charge du coprocesseur Cortex-M4, MicroSpeech fonctionnel, LPUART1.
MicroPython mis à jour vers 1.19 ; ulab mis à jour vers 5.1.1.
Changement incompatible : les modules
lcd/tvde la Nicla Vision ont été désactivés et le pilote WiFi de la RP2040 Connect a changé — voir les changements incompatibles.
Nouvelles fonctionnalités¶
tf.regression(model, input_array)— une nouvelle fonction pour les modèles de régression TensorFlow Lite à entrée/sortie 1D, renvoyant une liste de sorties flottantes.Contrôles du GC2145 —
sensor.set_auto_exposure()etsensor.set_auto_whitebal()sont désormais opérationnels sur le GC2145 (l’exposition automatique / la balance des blancs peuvent être désactivées ; l’exposition/le gain explicites ne sont pas encore pris en charge).Arduino Nicla Vision — la prise en charge du coprocesseur Cortex-M4 (CM4) et le périphérique LPUART1 ont été activés.
machine.Pin— la brocheUSB_VBUSest désormais exposée aux scripts utilisateur.
Autres changements et améliorations¶
MicroPython mis à jour vers 1.19 ; ulab vers 5.1.1 ; le pilote WiFi cyw43 intégré a été mis à jour.
Les ports RP2 (Arduino Nano RP2040 Connect) et nRF (Arduino Nano 33 BLE Sense) sont passés au nouveau débogueur basé sur TinyUSB pour la connexion à l’IDE/à l’hôte.
Le XCLK de l’OV7670 a été augmenté de 12 MHz à 24 MHz (jeu de registres mis à jour).
Corrections de bogues¶
Caméra et capteurs :
Les statistiques de température des blobs de l’OpenMV Pure Thermal utilisent désormais l’image IR au lieu de l’image couleur, de sorte que la température moyenne par blob est correcte.
Correction de la gestion de la ROI de
draw_image()et de la mise à l’échelle de la zone pour une sortie redimensionnée plus précise.L’IMU est réinitialisée après une réinitialisation logicielle afin de continuer à fonctionner lorsque le bus SPI de l’IMU est activé.
Système :
Correction de problèmes de comparaison signé/non signé dans la détection de caractéristiques FAST/AGAST, la détection de blobs, CLAHE et les pilotes LCD/TV ; correction de la désinitialisation des GPIO de caméra / SPI / DAC du STM32, du mappage des broches LPUART du H7 et de l’enregistrement du module
nnde STM32Cube.AI.
Arduino Nicla Vision :
MicroSpeech fonctionne désormais (tampon PDM doublé, exemple ajouté) et le mode veille basse consommation a été corrigé.
Matériel et prise en charge des cartes¶
OpenMV Cam H7 Pro — prise en charge du capteur thermique FLIR Lepton.
Arduino Nicla Vision — coprocesseur CM4, LPUART1, MicroSpeech, veille basse consommation.
Changements d’API incompatibles¶
Ruptures d’API visibles par l’utilisateur entre v4.3.3 et v4.4.0. Périmètre : modules C Python dans modules/ et bibliothèques Python dans scripts/libraries/.
Chaque changement est étiqueté selon son impact :
mineur — API restreinte ; n’affecte que les scripts sur une carte spécifique.
comportement — même API, résultats différents ; revérifiez les scripts ajustés.
Les changements sont regroupés par impact dans cet ordre. Si vous souhaitez simplement porter votre code, passez directement à la liste de contrôle de migration à la fin. Chaque hash de commit pointe vers son diff sur GitHub.
Modules de la Nicla Vision et WiFi de la RP2040 (mineur)¶
Sur l’Arduino Nicla Vision, les modules lcd et tv ont été désactivés pour libérer de la mémoire en vue de la prise en charge du coprocesseur CM4 — les scripts utilisant ces modules sur la Nicla Vision ne les trouveront plus. L’Arduino Nano RP2040 Connect est passé de l’implémentation WiFi/nina propre à OpenMV au pilote/module NINA-W10 amont de MicroPython, dont l’API diffère.
Délai d’attente des sockets WiFi et retournement vertical du LCD (comportement)¶
Un délai d’attente de socket WINC1500 renvoie désormais une erreur non bloquante (EWOULDBLOCK) au lieu de ETIMEDOUT, de sorte que les sockets en délai d’attente ne sont plus fermés de manière inattendue — le code qui interceptait ETIMEDOUT doit être mis à jour. Le display du shield LCD SPI lève désormais ValueError (« Vertical flip requires triple buffering! ») lorsqu’une valeur y_scale négative est demandée sans que la triple mise en tampon soit activée.
Liste de contrôle de migration¶
Pour un portage propre vers v4.4.0, le travail habituel consiste à :
Sur la Nicla Vision, cessez d’utiliser
lcd/tv; sur la Nano RP2040 Connect, portez le code WiFi vers le pilote NINA-W10 amont (les changements de module de carte).Mettez à jour le code de socket WINC1500 pour s’attendre à
EWOULDBLOCKen cas de délai d’attente, et activez la triple mise en tampon pour la sortie LCD à retournement vertical (les changements de comportement).