v1.6.0

v1.6.0 s’articule autour de l’enregistrement de l’OpenMV Cam et d’un flux de travail de vision industrielle plus riche : l’IDE détecte désormais les caméras non enregistrées lors de la connexion, gagne un éditeur de seuils intégré à l’éditeur de code, ajoute des panneaux repliables, et fait évoluer le micrologiciel embarqué de 2.3.0 à 2.4.1 (ajoutant la détection de lignes au passage). Il continue de suivre Qt Creator 4.0.2 sans rebase. Il y a une rupture visible par l’utilisateur : la connexion d’une caméra non enregistrée demande désormais une clé de carte à chaque connexion (voir Modifications cassantes).

Points marquants

  • L”enregistrement de l’OpenMV Cam est désormais détecté lors de la connexion : l’IDE interroge l’architecture de la carte, vérifie la carte/l’ID auprès de openmv.io, et invite l’utilisateur à enregistrer la caméra à l’aide d’une clé de carte.

  • Le micrologiciel embarqué 2.4.1 pour les caméras OMV2 (M4) et OMV3 (M7) ajoute la détection de lignes (find_lines / find_line_segments via une transformée de Hough) et un nouvel objet résultat image.match_descriptor dans la version 2.4.0 ; le micrologiciel 2.4.1 suit avec un renommage de l’API des opérations binaires.

  • Intégration de l’éditeur de seuils : un clic droit sur un tuple de seuil en niveaux de gris ou LAB sélectionné dans l’éditeur ouvre l’éditeur de seuils préchargé avec ces valeurs et réécrit le tuple ajusté dans le code source à la fermeture.

  • Panneaux repliables : les panneaux du tampon d’image et du terminal série ont gagné des boutons de tiroir qui masquent et réaffichent un panneau et restaurent leur état à partir des paramètres.

  • La barre de titre du tampon d’image en direct affiche désormais la résolution actuelle et la ROI sélectionnée, et le tampon d’image désactivé affiche une superposition à sa place.

Nouvelles fonctionnalités

  • L”enregistrement de l’OpenMV Cam est détecté lors de la connexion. L’IDE interroge l’architecture de la carte et vérifie la carte/l’ID auprès de openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php), invitant l’utilisateur à enregistrer la caméra à l’aide d’une clé de carte. Une boîte de dialogue d’enregistrement avec un hyperlien d’achat fonctionnel, un affichage de progression et une gestion des erreurs est incluse (c61052eb3, 9fa8a253e).

  • Éditeur de seuils depuis l’éditeur : un clic droit sur un seuil en niveaux de gris (g_min, g_max) ou un sextuplet LAB sélectionné propose une action Edit … threshold with Threshold Editor qui ouvre l’éditeur préchargé avec ces valeurs et met à jour le tuple source à la fermeture (3d12e6ee7, 992d3bdf8).

  • Panneaux repliables : les panneaux du tampon d’image et du terminal série ont gagné des boutons de tiroir haut/bas/gauche/droite qui masquent et réaffichent un panneau et restaurent leur état à partir des paramètres (abaf628ff, 7461e3b55, b51faa8f5).

  • Résolution et ROI en direct dans la barre de titre du tampon d’image, par ex. Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • Les entrées DataMatrix Generator et Barcode Generator ont été ajoutées au menu Machine Vision Tools, chacune ouvrant une recherche web Google vers un générateur en ligne (bf284997b).

Autres modifications et améliorations

  • Lorsque le tampon d’image est désactivé, une superposition centrée Frame Buffer Disabled - click the disable button again to enable (top right) est désormais affichée à sa place (bf284997b).

  • L”éditeur de seuils conserve et restaure désormais l’état de ses curseurs (valeurs combo/inversion/min-max) entre les sessions, et non plus seulement la géométrie de la fenêtre (bf284997b).

  • Refonte de la coloration syntaxique Python pour mieux colorer les noms de classes/fonctions/méthodes/arguments OpenMV et les mots-clés d’import dans l’éditeur et le terminal (38c00e5a2, 7461e3b55).

  • Le collage dans le terminal série envoie désormais les octets du presse-papiers un caractère à la fois et insère un intervalle de 1 ms entre les paquets série/UDP/TCP sortants afin que le REPL MicroPython ne soit pas saturé, et CR et LF sont émis séparément lors de l’appui sur Entrée (c61052eb3).

  • L”auto-complétion des membres se déclenche désormais lors de la saisie d’un . après un crochet fermant tel que ), ] ou }, de sorte que les complétions apparaissent après les appels de fonction et les indexations (9fa8a253e).

Corrections de bogues

  • Correction de la boîte de dialogue d’enregistrement SWD-ID de l’OpenMV Cam afin que Annuler et l’achèvement de la requête la ferment de manière fiable au lieu de s’appuyer sur un code de résultat issu d’une conversion de pointeur (6599856c4).

  • Correction de la correspondance du micrologiciel pour les cartes enregistrées en supprimant le jeton d’enregistrement [board:id] de la chaîne d’architecture avant de la rechercher dans la table de correspondance des micrologiciels (a1be146f1).

  • Correction d’une régression d’enregistrement où la gestion succès/erreur ne s’exécutait jamais en raison d’un test d’annulation inversé et d’une regex de board-id non échappée, et qui ignorait la vérification d’enregistrement pour les caméras à base de M4 (9fa8a253e).

  • Désactivation du câblage de la barre latérale de navigation gauche de Qt Creator en amont afin de corriger le widget de navigation dans la disposition OpenMV (bf284997b).

Prise en charge des plateformes et des outils

  • Base Qt Creator : 4.0.2.

  • Micrologiciel OpenMV embarqué : progression de 2.3.0 à 2.4.1 pour les caméras OMV2 (M4) et OMV3 (M7) en deux étapes. L’étape 2.3.0 -> 2.4.0 a ajouté la détection de lignes (find_lines / find_line_segments via une transformée de Hough), un nouvel objet résultat image.match_descriptor / kptmatch, des exemples de décodage DataMatrix (find_datamatrices.py / find_datamatrices_w_lens_zoom.py), les exemples find_lines.py / find_line_segments.py, et une méthode sensor.set_vsync_output() (f0cd4d75c). L’étape 2.4.0 -> 2.4.1 a ajouté les nouvelles opérations logiques ET/OU sur image b_and / b_or et a renommé nand / nor / xor / xnor en b_nand / b_nor / b_xor / b_xnor (les anciens noms sont conservés comme alias) (4fc16559e).

  • Pilotes Windows : refonte des scripts de commandes d’installation des pilotes DfuSe / FTDI / OpenMV / PybCDC et inclusion des binaires de pilotes DfuSe et FTDI/OpenMV/PybCDC, DLL et redistribuables VC auparavant manquants et nécessaires à l’installation (b51faa8f5, c2633fc04, 4fc16559e).

Modifications cassantes

La connexion d’une OpenMV Cam que openmv.io signale comme non enregistrée déclenche désormais jusqu’à trois invites demandant à l’utilisateur de saisir une clé de carte, qui se répètent à chaque connexion jusqu’à ce que la caméra soit enregistrée. Les cartes à base de M4 sont exemptées de cette vérification. Le renommage des opérations binaires sur image dans le micrologiciel 2.4.1 est rétrocompatible, puisque les anciens noms de méthodes nand / nor / xor / xnor restent disponibles comme alias.