v1.8.0

v1.8.0 is een grote functierelease gericht op netwerken en video: het voegt WiFi-programmering van OpenMV Cams toe, een Frame Buffer-videorecorder en een menu Tools > Video Tools, ondersteund door een meegeleverde ffmpeg/ffplay. Het voegt ook ondersteuning toe voor het nieuwe OpenMV Cam H7 (OMV4)-board en breidt de IDE uit naar de Raspberry Pi (Linux ARM). Deze release blijft op de Qt Creator 4.0.2-basis en bevat geen brekende wijzigingen voor bestaande projecten.

Hoogtepunten

  • WiFi-programmering. De IDE luistert nu naar UDP-broadcastaankondigingen van OpenMV Cams die zijn uitgerust met een WiFi-shield, toont gevonden camera’s (naam plus IP:port) in het verbindingsvenster en communiceert ermee via TCP als alternatief voor de seriële poort (69dc7dfbf).

  • Frame Buffer-videorecorder. Nieuwe Record/Stop-werkbalkknoppen leggen de live afbeeldingsstroom vast in een OpenMV ImageWriter-bestand terwijl een statuslabel met verstreken tijd/grootte/FPS wordt getoond (39142ef70, 5aceab31a).

  • Menu Video Tools. Tools > Video Tools voegt Convert Video File en Play Video File toe, waarbij een meegeleverde ffmpeg/ffplay wordt gebruikt om video’s te transcoderen en af te spelen, en ImageWriter .bin-opnamen transparant eerst worden geconverteerd naar MJPEG AVI; Play Video File is alleen beschikbaar op Windows en macOS, omdat ffplay niet wordt meegeleverd voor Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).

  • OpenMV Cam H7 (OMV4). Het nieuwe STM32H743-board wordt nu herkend en wordt geleverd met zijn eigen meegeleverde bootloader en firmware (e14810382).

  • Raspberry Pi-ondersteuning. Linux ARM IDE-builds zijn nu ingeschakeld, waarmee OpenMV IDE naar de Raspberry Pi wordt gebracht (f551b5f97).

Nieuwe functies

  • Instellingenbestand van OpenMV Cam configureren. Tools voegt een dialoogvenster toe om de main.ini boot-/WiFi-instellingen van de cam te schrijven, waaronder het inschakelen van WiFi, het kiezen tussen client- en access-pointmodus, SSID/wachtwoord/beveiligingstype, de boardnaam en een optie Duplicate REPL on the UART on startup die wordt opgeslagen onder de main.ini boot-instellingen (69dc7dfbf, 39142ef70).

  • Opdrachtregelopties voor de netwerkterminal. Toegevoegd zijn -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal en -open_tcp_server_terminal naast de bestaande seriële-terminaloptie (6362066a8, d75209269).

  • Aanvullende opdrachtregelopties. Beschikbaar gemaakt zijn -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout en -override_read_stall_timeout (061aacf15).

  • Terminal-servermodus. UDP/TCP-terminalverbindingen kunnen nu in servermodus draaien, gebonden aan een lokale poort (poort 0 kiest een willekeurige) in plaats van alleen uitgaand verbinding te maken met een host (956e8a2f5).

  • Nieuwe voorbeeldscripts. Toegevoegd zijn voorbeelden voor lenscorrectie, 3D-rotatiecorrectie en sensor-slaap met laag energieverbruik, en het voorbeeld voor lijnsegmentdetectie is herschreven naar de nieuwe find_line_segments(merge_distance, max_theta_diff)-API (061aacf15).

Overige wijzigingen en verbeteringen

  • Calltips voor functieargumenten en syntaxismarkering beslaan nu correct meerdere regels, zodat functie-aanroepen over meerdere regels hun argumenthints en markering behouden (6535e9fdd, 4638bdd18).

  • De resolutie/ROI-statusbalk van de terminal rapporteert nu ook het aantal pixels van de ROI (956e8a2f5).

  • Het registratievenster van de OpenMV Cam toont nu het board/ID en een support-e-mailadres, en het voortgangsvenster Connecting... adviseert om na 5 seconden op Cancel te klikken (4638bdd18, e14810382).

  • Het paneel Search Results geeft zijn regelnummergoot en resultaattekst nu een nieuwe stijl met expliciete kleuren voor het donkere thema, zodat ze leesbaar zijn tegen de donkere UI (b2599f9ea).

  • De schrijflussen van de seriële/UDP/TCP-terminal geven nu kort de besturing af tussen schrijfacties om de UI responsief te houden en de doorvoer te verbeteren (c4700e2b0).

  • De waardevelden voor histogramstatistieken reserveren nu een vaste minimumbreedte zodat het paneel niet langer herschikt wanneer getallen veranderen, en de knoppen van de modusschakelaarlade rekken uit in plaats van een vaste breedte van 160px te gebruiken (5aceab31a).

  • De storende waarschuwing JIT is disabled for QML bij het opstarten wordt nu onderdrukt via een aangepaste Qt-berichtafhandelaar (954220e39).

Bugfixes

  • Documentatietooltips en markering herkennen nu Python-exceptietypen (behandeld als data), en verschillende module-/indexdocumentatievermeldingen zijn gecorrigeerd zodat ze correct verschijnen (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).

  • De pakketupdate-checker en het parsen van camerabroadcast/-registratie zijn robuuster gemaakt met verankerde, getrimde regexes en strengere matching van HTML-antwoorden om valse overeenkomsten te voorkomen (461af1148, 4638bdd18).

  • De board-identifier van de OpenMV Cam M4 (OpenMV2) die wordt gebruikt voor API-detectie van oude firmware is gecorrigeerd van OMV2 naar OPENMV2 (449024fe8).

  • De camera-I/O en de videotranscoder zijn robuuster gemaakt tegen beschadigde/te grote framegegevens met strengere grenscontroles op width/height/bpp/duration, en een deling door nul bij het berekenen van de video-FPS is vermeden (08248f208, d0cbc27e5).

  • De tooling voor het converteren/afspelen van video werkt nu op macOS, 32-bit en Linux-ARM door ffmpeg/ffplay te starten via een gegenereerd shellscript of een cmd.exe-wrapper en door Linux-ffmpeg-binaries mee te leveren (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).

Platform- en toolondersteuning

  • Qt Creator-basis: 4.0.2.

  • OpenMV Cam H7 (OMV4, STM32H743): nieuw board herkend met zijn eigen meegeleverde bootloader en firmware (e14810382).

  • Meegeleverde OpenMV-firmware: verhoogd naar 2.6.0 voor OPENMV2/OPENMV3/OPENMV4 (e14810382).

  • Meegeleverde ffmpeg/ffplay: statische 3.3.3 ffmpeg-builds toegevoegd voor Windows, macOS, Linux x86, Linux x86_64 en Linux ARM (Raspberry Pi); ffplay wordt alleen meegeleverd voor Windows en macOS (2193d7923, af92ad59e).

  • Raspberry Pi (Linux ARM): builds ingeschakeld door de offline-help HelpManager uit te schakelen en de bindist-packaging over te zetten naar een tar.gz (f551b5f97).

Brekende wijzigingen

Geen. Deze release blijft op de Qt Creator 4.0.2-basis, en bestaande projecten en workflows blijven ongewijzigd.