v1.6.0

v1.6.0 draait om registratie van de OpenMV Cam en een rijkere Machine Vision-workflow: de IDE detecteert nu niet-geregistreerde camera’s bij verbinden, krijgt een Threshold Editor die geïntegreerd is met de code-editor, voegt inklapbare deelvensters toe en brengt de meegeleverde firmware van 2.3.0 naar 2.4.1 (waarbij onderweg lijndetectie wordt toegevoegd). Het blijft Qt Creator 4.0.2 volgen zonder rebase. Er is één voor de gebruiker zichtbare onderbreking: het verbinden van een niet-geregistreerde camera vraagt nu bij elke verbinding om een board key (zie Breaking changes).

Hoogtepunten

  • OpenMV Cam-registratie wordt nu gedetecteerd bij verbinden: de IDE bevraagt de boardarchitectuur, controleert het board/ID tegen openmv.io en vraagt de gebruiker om de camera te registreren met een board key.

  • Meegeleverde firmware 2.4.1 voor zowel OMV2 (M4)- als OMV3 (M7)-camera’s voegt lijndetectie toe (find_lines / find_line_segments via een Hough-transformatie) en een nieuw image.match_descriptor-resultaatobject in 2.4.0; firmware 2.4.1 volgt met een hernoeming van de binaire-bewerkings-API.

  • Threshold Editor-integratie: door met de rechtermuisknop te klikken op een geselecteerde grijswaarden- of LAB-drempelwaardetuple in de editor wordt de Threshold Editor geopend, vooraf geladen met die waarden, en wordt de aangepaste tuple bij het sluiten terug in de broncode geschreven.

  • Inklapbare deelvensters: de framebuffer- en seriële terminal-deelvensters kregen lade-knoppen die een deelvenster verbergen en weer tonen en hun toestand herstellen vanuit de instellingen.

  • De titelbalk van de Live Frame Buffer toont nu de huidige resolutie en het geselecteerde aandachtsgebied (ROI), en de uitgeschakelde framebuffer toont een overlay op zijn plaats.

Nieuwe functies

  • OpenMV Cam-registratie wordt gedetecteerd bij verbinden. De IDE bevraagt de boardarchitectuur en controleert het board/ID tegen openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php), waarbij de gebruiker wordt gevraagd de camera te registreren met een board key. Een registratiedialoog met een werkende aankoophyperlink, voortgangsweergave en foutafhandeling is inbegrepen (c61052eb3, 9fa8a253e).

  • Threshold Editor vanuit de editor: door met de rechtermuisknop te klikken op een geselecteerde grijswaarden- (g_min, g_max)- of LAB-zestal-drempelwaarde wordt een actie Edit … threshold with Threshold Editor aangeboden die de editor opent met die waarden vooraf geladen en de bron-tuple bij het sluiten bijwerkt (3d12e6ee7, 992d3bdf8).

  • Inklapbare deelvensters: de framebuffer- en seriële terminal-deelvensters kregen lade-knoppen boven/onder/links/rechts die een deelvenster verbergen en weer tonen en hun toestand herstellen vanuit de instellingen (abaf628ff, 7461e3b55, b51faa8f5).

  • Live resolutie en ROI in de titelbalk van de Frame Buffer, bijv. Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • DataMatrix Generator- en Barcode Generator-items werden toegevoegd aan het menu Machine Vision Tools, elk opent een Google-zoekopdracht voor een online generator (bf284997b).

Overige wijzigingen en verbeteringen

  • Wanneer de framebuffer is uitgeschakeld, wordt nu een gecentreerde overlay Frame Buffer Disabled - click the disable button again to enable (top right) op zijn plaats getoond (bf284997b).

  • De Threshold Editor bewaart en herstelt nu de toestand van de schuifregelaars (combo/inverteren/min-max-waarden) tussen sessies, niet alleen de venstergeometrie (bf284997b).

  • De Python-syntaxismarkering herwerkt om OpenMV class-/functie-/method-/argumentnamen en import-trefwoorden beter te kleuren in de editor en terminal (38c00e5a2, 7461e3b55).

  • Plakken in de seriële terminal verzendt klembordbytes nu één teken per keer en voegt een tussenpauze van 1ms in tussen uitgaande seriële/UDP/TCP-pakketten zodat de MicroPython-REPL niet overloopt, en CR en LF worden afzonderlijk uitgezonden bij Enter (c61052eb3).

  • Automatische aanvulling van members wordt nu geactiveerd bij het typen van . na een sluithaakje zoals ), ] of }, zodat aanvullingen verschijnen na functie-aanroepen en subscripts (9fa8a253e).

Bugfixes

  • Het registratiedialoogvenster voor de OpenMV Cam SWD-ID gecorrigeerd zodat Annuleren en het voltooien van het verzoek het betrouwbaar sluiten in plaats van te vertrouwen op een resultaatcode van een pointer-cast (6599856c4).

  • Firmware-matching voor geregistreerde boards gecorrigeerd door het registratietoken [board:id] uit de architectuurstring te verwijderen voordat deze wordt opgezocht in de firmware-mappingtabel (a1be146f1).

  • Een registratieregressie gecorrigeerd waarbij de succes-/foutafhandeling nooit werd uitgevoerd door een omgekeerde annuleercontrole en een niet-geëscapete board-id-regex, en de registratiecontrole voor M4-gebaseerde camera’s werd overgeslagen (9fa8a253e).

  • De bedrading van de linkernavigatie-zijbalk van upstream Qt Creator uitgeschakeld om de navigatiewidget in de OpenMV-lay-out te corrigeren (bf284997b).

Platform- en toolondersteuning

  • Qt Creator-basis: 4.0.2.

  • Meegeleverde OpenMV-firmware: gevorderd van 2.3.0 -> 2.4.1 voor zowel OMV2 (M4)- als OMV3 (M7)-camera’s in twee stappen. De stap 2.3.0 -> 2.4.0 voegde lijndetectie toe (find_lines / find_line_segments via een Hough-transformatie), een nieuw image.match_descriptor / kptmatch-resultaatobject, DataMatrix-decodeervoorbeelden (find_datamatrices.py / find_datamatrices_w_lens_zoom.py), find_lines.py / find_line_segments.py-voorbeelden, en een sensor.set_vsync_output()-methode (f0cd4d75c). De stap 2.4.0 -> 2.4.1 voegde de nieuwe logische AND/OR-image-bewerkingen b_and / b_or toe en hernoemde nand / nor / xor / xnor naar b_nand / b_nor / b_xor / b_xnor (de oude namen blijven behouden als aliassen) (4fc16559e).

  • Windows-stuurprogramma’s: de installatieopdrachtscripts voor de DfuSe-/FTDI-/OpenMV-/PybCDC-stuurprogramma’s herwerkt en de eerder ontbrekende DfuSe- en FTDI-/OpenMV-/PybCDC-stuurprogrammabinaries, DLL’s en VC-redistributables die nodig zijn voor de installatie meegeleverd (b51faa8f5, c2633fc04, 4fc16559e).

Breaking changes

Het verbinden van een OpenMV Cam die openmv.io als niet-geregistreerd rapporteert, activeert nu tot drie prompts die de gebruiker vragen een board key in te voeren, herhalend bij elke verbinding totdat de camera is geregistreerd. M4-gebaseerde boards zijn vrijgesteld van deze controle. De hernoeming van de binaire image-bewerkingen in firmware 2.4.1 is achterwaarts compatibel, aangezien de oude methodenamen nand / nor / xor / xnor beschikbaar blijven als aliassen.