v2.4.0

v2.4.0 repose sur Qt Creator 4.0.2 et s’articule autour du nouveau programme d’amorçage V3 (interrogation de l’agencement de la mémoire flash QSPI lors du chargement du micrologiciel et effacement lors d’un effacement complet de la mémoire flash de données embarquée), du rapport en direct du capteur et de la carte dans la barre d’état, ainsi que d’un nouveau protocole de débogage USB 32 bits correspondant au micrologiciel fourni. Il ajoute également un guide LED au premier démarrage et un large ensemble de nouveaux exemples TensorFlow, Modbus et WiFi. Comme le protocole de débogage a changé, les caméras doivent exécuter le nouveau micrologiciel fourni pour se connecter.

Points forts

  • La prise en charge du programme d’amorçage V3 interroge l’agencement de la mémoire flash QSPI externe d’une carte lors du chargement du micrologiciel et l’efface lors d’un effacement complet de la mémoire flash de données embarquée (d953df62f).

  • Le rapport du capteur et de la carte interroge le module capteur de la caméra connectée lors de la connexion et l’affiche dans la barre d’état (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) aux côtés d’une nouvelle étiquette de type de carte (0ffa82958).

  • La copie de modèle TensorFlow vous permet de copier des modèles .tflite vers la caméra, et plus seulement les fichiers de réseau de neurones .network (ad1aa98f0).

  • Erase Onboard Data Flash est une nouvelle commande Tools qui efface uniquement la mémoire flash du système de fichiers embarqué de la caméra, après une demande de confirmation, sans reprogrammer le micrologiciel (d953df62f, 98686ac46).

  • Le guide LED au premier démarrage est une nouvelle boîte de dialogue OpenMV Cam LED Colors qui explique les états de la LED embarquée et peut être masquée définitivement (c2d00422f).

Nouvelles fonctionnalités

  • Le programme d’amorçage V3 interroge l’agencement de la mémoire flash QSPI lors du chargement du micrologiciel et efface la mémoire flash QSPI externe uniquement lors d’un effacement complet de la mémoire flash de données embarquée ; connectClicked pilote toujours bootloaderQSPIFLayout sur les cartes V3 mais n’exécute bootloaderQSPIFErase que lorsque forceFlashFSErase est défini (les commandes d’écriture/test mémoire QSPI sont implémentées dans la couche d’E/S mais ne sont pas utilisées par le chargeur) (d953df62f).

  • L’état du capteur et de la carte interroge le module capteur de la caméra lors de la connexion et l’affiche (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) dans la barre d’état, accompagné d’une nouvelle étiquette de type de carte, à l’aide d’une nouvelle table de correspondance identifiant-nom sensors.txt (0ffa82958).

  • Le guide LED au premier démarrage ajoute une nouvelle boîte de dialogue OpenMV Cam LED Colors qui apparaît après un court délai lorsque helloworld_1.py est le document ouvert au premier démarrage, expliquant les états de la LED embarquée (vert clignotant = programme d’amorçage en cours d’exécution, bleu = exécution de main.py, blanc = panique due à une défaillance matérielle) ; une case à cocher « Don’t show this message again. » conserve le masquage via un paramètre DONT_SHOW_LED_STATES_AGAIN (c2d00422f).

  • Open OpenMV Cam Drive folder est un nouvel élément du menu Tools qui ouvre le lecteur monté de la caméra dans le navigateur de fichiers du système (a49f54305).

  • Erase Onboard Data Flash est une nouvelle commande Tools qui efface uniquement la mémoire flash du système de fichiers embarqué, après une demande de confirmation, sans reprogrammer le micrologiciel (d953df62f, 98686ac46).

  • La copie de modèle TensorFlow permet à la boîte de dialogue de copie de modèle de copier des modèles .tflite vers la caméra en plus des fichiers de réseau de neurones .network ; le filtre de la boîte de dialogue a également gagné les entrées Label Files (*.txt) et All Files (ad1aa98f0, 0ffa82958, c0dbdd9e5).

  • Le basculement de version du protocole de débogage scinde les commandes série GetAttribute, SetAttribute, FBEnable et JPEGEnable lors de la communication avec le micrologiciel 3.5.3+ pour plus de fiabilité (83b9ca18f).

  • Les nouveaux exemples fournis ajoutent des scripts TensorFlow Lite mobilenet et de détection de personnes à fenêtre glissante, ainsi qu’un exemple MNIST STM32Cube.AI (nn_stm32cubeai.py), un nouveau dossier 32-modbus (modbus_rtu_slave.py, modbus_apriltag.py), des ajouts pour le shield WiFi (http_client_ssl, static_ip, mqtt_pub/mqtt_sub), Arduino UART/SPI-slave et CAN (e26b90d79, 42ba8f5c4).

Autres changements et améliorations

  • Mise à jour du protocole de débogage USB vers le nouveau micrologiciel : les lectures d’attributs utilisent la nouvelle commande 32 bits ATTR_READ_2 (0xCA), et les charges utiles d’attribut, de valeur et d’activation du tampon d’image sont envoyées sous forme d’entiers longs 32 bits au lieu de mots 16 bits (55d7cfe70).

  • Renommage de Save open script to OpenMV Cam en Save open script to OpenMV Cam (as main.py) pour clarifier qu’il écrit main.py (a49f54305).

  • Renommage de Run Bootloader en Run Bootloader (Load Firmware) pour clarifier son objectif (ad1aa98f0).

  • Les menus d’exemples sont désormais triés par leur préfixe numérique de dossier/fichier, et les chiffres NN- de tête sont retirés des noms affichés (ad1aa98f0).

  • Les terminaux de sortie et série affichent désormais les tabulations sous forme d’espaces en utilisant une largeur de tabulation de terminal série configurable issue des paramètres de l’éditeur de texte, au lieu d’une largeur codée en dur de 8 (98686ac46).

  • La détection de lecteur sous Linux accepte désormais également les systèmes de fichiers montés en fuseblk (par exemple les volumes exFAT/NTFS) lors de l’association du lecteur de la caméra (c0dbdd9e5).

  • Mise à jour du jeu de documentation HTML MicroPython fourni (référence de la bibliothèque, tutoriels esp8266/esp32, pages et images générées) affiché dans l’aide de l’IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).

Corrections de bogues

  • Correction d’un dépassement numérique dans les statistiques d’histogramme (moyenne, quartiles, médiane, écart-type) en élargissant les accumulateurs de int à 64 bits, évitant des statistiques erronées sur les grandes images (55d7cfe70).

  • Refonte de la déconnexion/éjection sous Linux : le vidage peu fiable syncfs/closedir a été supprimé et le lecteur est désormais démonté avec une simple commande umount, sans boîte de dialogue de progression (b86d5c62c, c0dbdd9e5, 30d4a7d2d).

  • Le lecteur USB de la carte n’est désormais associé que lorsque le micrologiciel est suffisamment récent ou qu’un fichier marqueur .openmv_disk est présent, empêchant l’IDE de s’emparer du mauvais lecteur amovible (e464eaed4).

  • Correction de la logique de reconnexion afin que le déclenchement d’une opération de programme d’amorçage/effacement alors qu’on est connecté provoque désormais une déconnexion propre suivie d’une nouvelle tentative, évitant un état de travail bloqué (d953df62f).

  • Réécriture de l’outil de suppression des commentaires/espaces utilisé lors de l’envoi de scripts vers la caméra sous forme de machine à états consciente des chaînes, de sorte que les caractères # à l’intérieur des chaînes ne sont plus pris pour des commentaires, et que les espaces de fin et les docstrings sont gérés (24dff1b2f).

  • Correction de la gestion des chaînes de traduction pour plusieurs messages des boîtes de dialogue de connexion/terminal afin que les commandes shell intégrées (sudo adduser, étapes d’installation de pydfu) ne fassent plus partie du texte traduisible et s’affichent correctement (b5705a57e).

Prise en charge des plateformes et des outils

  • Base Qt Creator : 4.0.2.

  • Renommage de la carte/du micrologiciel OpenMV Cam H7 Plus de OPENMV4R à OPENMV4P (OMV4P_H7_32768_SDRAM) et fourniture de son micrologiciel sous le nouveau nom (c0dbdd9e5).

  • Correction du nom d’affichage de la carte H7 Plus pour utiliser des traits de soulignement au lieu d’espaces (OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).

  • Le micrologiciel fourni a été mis à jour tout au long de la version, se terminant à la version 3.5.2 pour OPENMV2/3/4/4P (dernière montée dans 15c07498c ; montées cumulatives antérieures dans 42ba8f5c4 vers 3.4.2, a99c2e3e1 vers 3.4.3, e26b90d79 vers 3.5.0, et 97b0f645a vers 3.5.1).

  • Versions du micrologiciel fourni : OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.

  • Version d’OpenMV IDE portée de 2.2.1 à 2.4.0.

Changements incompatibles

Le protocole de lecture d’attributs de débogage USB est passé de l’ancienne commande 16 bits ATTR_READ (0x8A) à la nouvelle commande 32 bits ATTR_READ_2 (0xCA), et les charges utiles d’attribut, de valeur et d’activation sont désormais envoyées sous forme d’entiers longs 32 bits ; l’IDE interroge également l’identifiant du capteur de la caméra lors de la connexion. Cela nécessite un micrologiciel qui implémente le nouveau protocole. Le micrologiciel fourni 1.2.15 / 1.4.11 le propose, les caméras plus anciennes doivent donc être reprogrammées avec le nouveau micrologiciel pour se connecter.