v1.7.0¶
v1.7.0 ajoute le découpage et le réassemblage du tampon d’image série afin que de grandes trames puissent être transférées sur la liaison série de débogage, rend la déconnexion-avec-réinitialisation plus sûre en vidant (et, sous Windows, en éjectant) le lecteur de stockage de masse USB de la caméra, et rafraîchit l’ensemble des exemples. La version est basée sur Qt Creator 4.0.2 (la même base que la version précédente) et ajoute la prise en charge de la compilation pour des cibles Linux embarqué compilées de manière croisée telles que le Raspberry Pi. Il n’y a aucune modification cassante.
Points marquants¶
Découpage du tampon d’image série — les transferts volumineux du tampon d’image sont découpés en fragments de la taille du MTU et réassemblés dans un tampon de pixels, de sorte que de grandes trames peuvent être déplacées sur la liaison série de débogage.
Déconnexion-avec-réinitialisation plus sûre — le lecteur de stockage de masse USB de la caméra est vidé avant la réinitialisation (et éjecté de force sous Windows) afin que le système de fichiers soit d’abord synchronisé.
Enregistrement atomique des fichiers —
main.pyet les fichiers de points clés sont écrits de manière atomique, évitant la corruption et corrigeant un bogue de chemin qui écrivaitmain.pyau mauvais emplacement.Raspberry Pi / Linux embarqué — la prise en charge de la compilation croisée est désormais incluse.
Exemples rafraîchis — un ensemble Servo Shield, de nouvelles démonstrations de détection de caractéristiques, et des exemples vidéo Image Reader/Writer.
Nouvelles fonctionnalités¶
Découpage et réassemblage du tampon d’image série. Les transferts du tampon d’image sont découpés en fragments de la taille du MTU et réassemblés dans un tampon de pixels, de sorte que de grandes trames peuvent être déplacées sur la liaison série de débogage à l’aide d’un MTU par défaut. Un protocole de négociation automatique du MTU à l’exécution a été ajouté, avec sa borne de version de micrologiciel fixée à 2.5.0, correspondant au micrologiciel 2.5.0 embarqué dans le même commit (96458ccef). La borne a ensuite été relevée à
9.9.9pour la version finale, valeur qu’aucun micrologiciel livré ne signale, de sorte que les caméras utilisent le MTU par défaut et qu’aucune négociation n’a lieu (abd1dacb9).Vidage/éjection lors de la déconnexion-avec-réinitialisation. La déconnexion avec réinitialisation vide désormais le lecteur de stockage de masse USB de la caméra avant la réinitialisation : sous Windows le lecteur est éjecté de force, tandis que sous Linux et macOS le système de fichiers du lecteur est synchronisé (
syncfs/sync_volume_np). Une erreurFailed to ejectest signalée en cas d’échec sur les trois plateformes (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Exemples Servo Shield. Ajout d’un ensemble d’exemples
15-Servo-Shieldillustrant des servomoteurs pilotés par PCA9685, incluant un pilotepca9685.pyet un utilitaireservo.py(abd1dacb9).Nouveaux exemples de détection de caractéristiques. Ajout de
find_circles(Hough),find_rects(seuil quadruple),find_numbers(reconnaissance de chiffres LeNet), et d’exemples de régression linéaire rapide et robuste sous09-Feature-Detection(abd1dacb9).Exemples vidéo et de contrôle de carte. Ajout d’exemples Image Reader/Writer pour enregistrer et rejouer des flux de captures depuis la carte SD, d’un exemple de contrôle de carte RTC, et d’un exécuteur de tests unitaires embarqué dans la caméra (abd1dacb9).
Autres modifications et améliorations¶
Renommage du dossier d’exemples
99-Tests(anciennement15-Tests) et ajout de l’exécuteurunittests.py(abd1dacb9).
Corrections de bogues¶
Renforcement de l’enregistrement de
main.pyet des fichiers de points clés. Les écritures ont été basculées vers des écritures atomiquesFileSaver(écrire puis finaliser) dans (4fd4e89cf), et un séparateur de chemin manquant qui écrivaitmain.pyau mauvais emplacement a été corrigé dans (1865ffd31).Amélioration de la fiabilité série en agrandissant le tampon de lecture série à 1 Mo sur tous les ports et en augmentant le délai d’expiration en cas de blocage de lecture, remédiant aux pertes de données avec
QSerialPort(7f68368dc).Correction d’un défaut de disposition du séparateur de fenêtre en exportant
MainWindowet en émettant un signal d’événement d’affichage afin que le greffon OpenMV puisse restaurer la disposition lorsque la fenêtre principale est affichée (4895e20b7).
Prise en charge des plateformes et des outils¶
Base Qt Creator : 4.0.2.
Ajout de la prise en charge de la compilation pour des cibles Linux embarqué compilées de manière croisée telles que le Raspberry Pi : déploie les polices Qt, corrige la gestion de
chrpath/RPATH, compile les traductions avec les binaires hôtes, et ajoute une dépendanceqmlmanquante (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).Mise à jour du micrologiciel OpenMV embarqué de 2.4.1 à 2.5.0 (96458ccef).
Renommage des dossiers de micrologiciel
OMV2/OMV3enOPENMV2/OPENMV3et livraison des binaires de micrologiciel et de programme d’amorçage STM32F427 (OPENMV2) et STM32F765 (OPENMV3) mis à jour et recompilés (abd1dacb9).
Modifications cassantes¶
Aucune. Cette version n’introduit aucune rupture de flux de travail ou de comportement visible par l’utilisateur, et les projets existants continuent de fonctionner sans changement.