v4.0.1¶
v4.0.1 is een grondige modernisering die OpenMV IDE rebaset van zijn al lang bestaande Qt Creator 4.0.2-basis naar Qt Creator 10.0.1. De volledige OpenMV-pluginstack (framebuffer-viewer, serieel/protocol, terminal, histogram, drempelwaarde- en sleutelpunt-editors, videotools en wrappers voor het flashen van firmware) wordt opnieuw toegepast bovenop de nieuwe basis, naast een verzorgd themapaar Flat Light/Flat Dark, OpenMV-bewuste Python-highlighting, een uniform firmware-laaddialoogvenster en brede ondersteuning voor apparaatdetectie op ARM64 Linux en macOS. De wijziging van de Qt Creator-basis is een grote interne modernisering, maar breekt geen gebruikersprojecten; enkele standaardgedragingen en boarddefinities zijn wel veranderd (zie Brekende wijzigingen).
Hoogtepunten¶
Qt Creator 10.0.1-rebase. De IDE gaat van Qt Creator 4.0.2 naar 10.0.1: upstream Qt Creator is teruggebracht tot zijn build-basis (98b95fd3b) en de volledige OpenMV-plugin is opnieuw toegevoegd op de nieuwe basis (0e8047372).
Flat Light- en Flat Dark-thema’s. Een verzorgd licht/donker-themapaar wordt geleverd met bijpassende aangepaste syntaxis-highlightingstijlen voor de editor; de Theme-kiezer is opnieuw beschikbaar in de algemene instellingen, beperkt tot enkel deze twee, en het standaardthema is nu
flat-dark(21348924b, 13c3849e8).Raw-REPL seriële terminal. De terminal draait, onderbreekt, herlaadt en plakt scripts nu via een echte MicroPython raw-REPL (CTRL-A/CTRL-D) toestandsmachine, die grotere scripts betrouwbaar afhandelt (a7241079c).
OpenMV-bewuste Python-bewerking. OpenMV-modules, -klassen, -functies, -methoden en -argumenten worden syntaxis-gehighlight op basis van de meegeleverde documentatie, met slimmere automatische aanvulling en een haakje/dubbelepunt-bewuste auto-inspringer (801eab8a8, 8e9f967e7, 9fdff9c6d).
Uniform firmware-laaddialoogvenster. Bij het flashen wordt nu een enkel contextueel dialoogvenster getoond (Schijf wissen / Firmware flashen / Bootloader flashen) met een voortgangsbalk en een inklapbaar, toestand-onthoudend Details tonen/verbergen-logboek (5b51356f8).
Ondersteuning voor OpenMV Cam RT1062. Firmware, DFU/flash-loaders, SDP/blhost-enumeratie en een eFuse-brandprogrammeringsstap zijn toegevoegd voor het nieuwe board uit de i.MX RT1060-klasse (a6595f5f7), dat vervolgens een aparte Secure Bootloader (SBL) boardvariant krijgt (d2b11c6c8).
Nieuwe functies¶
Automatiseringsvlaggen. Met de vlaggen
-auto_update(release/development/ pad),-auto_eraseen-auto_runkan de IDE firmware bootloaden/wissen en vervolgens het geopende script uitvoeren bij verbinden; na een herverbinding van de bootloader wacht de IDE tot 10s totdat de camera opnieuw geënumereerd is voordat verder wordt gegaan (b54affe79, f4e03d978).``-disable_stop``-vlag en een
stop on connect/disconnect-menuschakelaar laten gebruikers het stoppen van het script bij verbinden of verbreken uitschakelen (02724ca7d).De schakelaar Stop Script on Connect/Disconnect (standaard aan) ontkoppelt verbinden/verbreken van het stoppen van het draaiende script; Auto Reconnect staat nu standaard uit (a0e78057f).
Boardtype-prompt. Wanneer een verbonden board een architectuur meldt die niet in de firmware-mapping staat, vraagt de IDE de gebruiker nu om het boardtype te kiezen (waarbij de laatste keuze wordt onthouden) in plaats van af te breken met een “Unsupported board architecture!”-fout (b7165eb3d).
OpenMV Python-syntaxishighlighting kleurt bekende OpenMV-modules, -klassen, -data, -functies, -methoden en -argumenten met behulp van trefwoordenlijsten die worden gevuld vanuit de meegeleverde documentatie (801eab8a8, b4d481bf5).
~300 KSyntaxHighlighting-taaldefinities worden met de editor geleverd, zodat broncodebestanden in veel talen direct gehighlight worden (39674a4dc).
Meegeleverde OpenMV-voorbeeldscripts (Hello World, snapshot, video-opname, optical flow, event cameras, global shutter, FLIR Lepton en meer) worden nu in de IDE vastgelegd en meegeleverd (938ac6bbe).
Binaire/hex-editor is ingeschakeld zodat gebruikers binaire bestanden kunnen openen en inspecteren, met een werkbalk die is ingekort om in de OpenMV-UI te passen (675bda966).
In-memory documentvergelijking. Nieuwe bestanden en alleen-lezen voorbeelden krijgen nu een onderliggend tijdelijk bestand zodat niet-opgeslagen documenten vergeleken kunnen worden, en het dialoogvenster voor het vergelijken van externe bestanden onthoudt de laatst gebruikte map (5281e5f6c, 2934d5216).
Plugin voor editor met tabbladen is opnieuw toegevoegd, waardoor de IDE een documentbalk met tabbladen krijgt; de broncode van de minimap-plugin is opnieuw toegevoegd maar voor deze release uitgeschakeld gelaten in de build (0e8047372).
DfuSe- en pydfu-fallbackflashing is hersteld voor DFU-apparaten die niet via serienummer kunnen worden geadresseerd, met automatische wisafhandeling zonder dialoogvenster tijdens het verbinden (e42a5be7d).
i.MX RT eFuse-brand. Bij firmwareprogrammering wordt nu een eFuse gebrand (
efuse-program-once) voor de boards uit de RT1060-klasse (8053bb578, a6595f5f7).Wizardpagina Linux Root Installs laat de gebruiker zich aan- of afmelden voor de apt-bibliotheekinstallatie met verhoogde rechten en de installatie van udev-regels in plaats van deze altijd uit te voeren (6bac80984).
Overige wijzigingen en verbeteringen¶
Seriële poortscanning op de achtergrond. Poortenumeratie is van de UI-thread verplaatst naar een speciale
ScanSerialPortsThread-worker zodat de IDE responsief blijft tijdens het scannen (7be4dab26).Bredere apparaatdetectie. Poortscanning is geherstructureerd tot een herbruikbare
filterPorts()-helper die picotool- en i.MX DFU-apparaten meeneemt en bekende Arduino bootloader-seriële poorten (oude NRF/RPI- en loader-PID’s) herclassificeert als DFU-apparaten (25a5d30fd).Meer terminal-fallbacks. Bij het starten van de meegeleverde videoafspeeltools (Play Video File / Play RTSP Stream) op Linux valt de IDE nu terug op
lxterminal,konsoleenxfce4-terminalnaastxtermengnome-terminal(df54007e0).Rapportage van board-sleutels. Cameraregistratie parseert nu een “Remaining N”-respons om de gebruiker te vertellen hoeveel board-sleutels er nog over zijn, en voegt een aparte foutmelding “Invalid Board Key for Board Type” toe (5759e73eb).
GitHub-gehoste downloads. Versiecontroles en resource-downloads gebruiken nu
raw.githubusercontent.com/openmv/openmv-ide-versionen deopenmv/openmv-ide-releases in plaats vanupload.openmv.io(994109c28).Overal HTTPS. Alle OpenMV-webverzoeken (versiecontroles, SWD ID-registratie, resource- en firmwaredownloads) gebruiken nu
https://(54347cad0).Linux setup-automatisering. Het installatieprogramma detecteert ontbrekende bibliotheken en udev-regels en genereert indien nodig een uitvoerbaar
setup.shmet de exacte apt-get/pip- en udev-regel-installatiecommando’s (en eenREADMEdie de gebruiker zegt het uit te voeren) (c6dc705e6).Tolerantie voor trage boards. De seriële terminal verhoogt zijn wachttijd per lezing van 1ms naar 10ms en geeft een “OK”-bevestiging af wanneer een script klaar is (c935e4489).
Vloeiendere flashvoortgang. Voortgangsbalken van de firmware-loader schakelen nu onmiddellijk van onbepaald naar 0-100% in plaats van na de eerste percentagetik, over dfu-util, bossac, picotool en i.MX-flashing heen (19d947308, 86d021f92).
Herstel van oude bootloader is opnieuw toegevoegd via een niet-snelle bootloadermodus die wis-/schrijfcommando’s verzendt zonder de query-sync-padding van de snelle modus (c20112c07).
Schonere toolconsoles. Firmware-flashterminals (bossac, dfu-util, picotool, imx, videotools) draaien nu als zelfstandige consoleprocessen met beter geformatteerde commando-uitvoer (8053bb578).
Verfijning van automatische aanvulling. Aanvulling onderscheidt klassen, methoden en functies met afzonderlijke argumenthints, gebruikt de juiste codemodelpictogrammen en respecteert public/protected/private scope via underscore-voorvoegsel; de trefwoordaanvullingsprocessor slaat ook voorafgaande witruimte vóór de cursor over bij expliciet (handmatig) aangeroepen aanvulling (8e9f967e7, 68b26b5fc).
Geconsolideerde dialoogvensters. De ad-hoc “Don’t show this again”-dialoogvensters van OpenMV – waaronder het
OpenMV Cam LED Colors-infodialoogvenster bij het opstarten en de firmware-upgrade- en voorbeeldprompts – zijn samengevoegd totCheckableMessageBox“Do Not Ask/Show Again”-dialoogvensters, een knop “Reset Do Not Ask/Show Again Dialogs” is toegevoegd aan de algemene instellingen, en markeringen voor code folding zijn standaard uitgeschakeld (9fdff9c6d).Thema-bewuste branding. Splashschermen voor de donkere modus, donkere/lichte ST- en NXP-chiplogo’s in het About-venster, tooltipkleuren voor de donkere modus en juiste pictogramkleuren voor automatische aanvulling zijn toegevoegd (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).
Opschoning van de afbeeldingsviewer. De acties delen, achtergrond, contour en “set as default” zijn verborgen, een passend-op-scherm-actie is toegevoegd, en de grootte van geanimeerde afbeeldingen is gecorrigeerd (b37c55e25).
Opschoning van het contextmenu. De items “Show in File System View”, “Open Terminal”, “File Properties” en “Add/Delete UTF-8 BOM on Save” zijn verborgen (5d862c78e).
Donkere seriële terminal. De zelfstandige terminal gebruikt een echt donker thema met gestileerde schuifbalken, bijgewerkte werkbalkpictogrammen en correcte herlading van high-DPI-schuifbalkpictogrammen over schermen heen (5c3af6880).
Opschoning van Zoeken/Find. Het resultatenpaneel krijgt een donker thema, de zoekmachine-selector is verborgen, labels zijn vereenvoudigd en Find-in-Files staat standaard op de map Documents/OpenMV (20a806550).
Applicatie-identiteit. De IDE toont nu het juiste OpenMV-pictogram op het bureaublad, in de titelbalk en in de taakbalk (met high-DPI-afhandeling op Windows), en de IDE-id is gewijzigd in
openmvide(8ad1eed1f).High-DPI-splash toont een 2x splashafbeelding op Retina-/200%-schaaldisplays (626ff673e).
Herstel van de actiebalk. De actiebalk aan de linkerkant (New File, Open, Save, Undo, Redo, Cut, Copy, Paste) is hersteld en voorzien van aangepaste OpenMV-pictogrammen (b8479b5d0).
Logo’s in het About-dialoogvenster. Zowel de partnerlogo’s van Arduino als Edge Impulse worden nu getoond (Edge Impulse was voorheen verborgen) met high-DPI 2x-varianten, en de meegeleverde splashafbeelding is bijgewerkt (
splash-small-2/splash-large-2) (5facd8d9a).Select Word Under Cursor is ingeschakeld; de commando’s Go to Block Start/End (Ctrl+[ / Ctrl+]) en Select Block Up/Down werden kort opnieuw ingeschakeld (36ed5b1a8) maar uitgeschakeld gelaten in de release (626ff673e).
Linux-bureaubladvermelding krijgt een Electronics-categorie, een omschrijvende Comment en zoek-Keywords (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).
Resource-migratie. Gebruikersresources zijn verplaatst naar een geversioneerde locatie (de oude qtcreator-map wordt bij het opstarten verwijderd), en onschuldige DirectWrite-lettertypewaarschuwingen op Windows worden onderdrukt (a04af5351, 70765dc2a).
Verborgen interne opties. De interne Core-opties
-coloren-themezijn verborgen in de help-uitvoer, en de presentatiemodus is opnieuw ingeschakeld (434c7b4cc).Opnieuw toegepaste core-aanpassingen op de fancy actiebalk/tab-widget, de message manager/output window, proxy-acties, syntaxis-highlighter en teksteditor (0e8047372).
QCustomPlot 2.1.1. De meegeleverde plotbibliotheek is bijgewerkt voor compatibiliteit met Qt 6.4 en correcte afhandeling van een dynamisch veranderende display-DPI (8801415fe).
Cosmetische UI-opschoningen aan de pijlpictogrammen van schuifbalken, de statusbalk, de sluitknoppen van de documenttabbalk en de breedte van de editorscroller; de indicator “Display File Line Ending” van de editor staat nu standaard uit (e0c4d2325, 6a26f4430, e130988fb).
Bugfixes¶
Linux VID/PID-detectie hersteld door
/sys/class/tty/<port>/device/ueventte lezen voor de echte VID/PID van het apparaat, waarmee wordt omzeild datQSerialPortInfode identificatoren van de USB-hub teruggeeft, zodat camera’s achter hubs correct worden gedetecteerd (28220b351).Mac bootloader-firmwareflashing hersteld door endpoint-grootte-asserties te versoepelen en het sync-querypakket alleen toe te voegen wanneer een schrijfbewerking precies één USB-endpoint groot is (86d021f92).
Videoafspeeltools op Linux hersteld: Play Video File / Play RTSP Stream zijn nu verborgen op 32-bits en ARM Linux (geen meegeleverde ffplay), met een gnome-terminal-fallback wanneer xterm niet beschikbaar is, en het macOS ffmpeg-binary is hersteld vanuit een placeholder (d342649cc, d896f4225).
De start-/eindvertragingen van de bootloader-reset verhoogd van 0 naar 5 om te voorkomen dat wis- en schrijfcommando’s elkaar overlappen tijdens firmware-updates (fabc168b6).
Gestroomlijnd bootloaderherstel: het forceren van de bootloader om een onbruikbare cam te repareren slaat overbodige prompts over, en na een DFU-bootloaderreset probeert de IDE automatisch opnieuw bij te werken in plaats van de gebruiker te vragen opnieuw te verbinden (12b924088).
Toegestaan dat seriële framebuffer-/TX-buffer-dumpcommando’s midden in een transactie kunnen worden afgebroken (4a4afae1b).
De seriële-poort-leesstilstand-opgeefworkaround verwijderd die responsen met nulbytes kon opvullen, wat de betrouwbaarheid van snelle USB-overdrachten verbetert (0ee1d8e91).
WiFi-debugging en automatisch herverbinden hersteld: WiFi-poorten vernieuwen hun laatst-gezien-tijdstempel bij herontdekking, verschillende iterator-na-wissen-bugs in WiFi-poortuitfasering en DFU-/bootloaderdetectie zijn gecorrigeerd, en automatisch herverbinden wacht nu tot de IDE niet bezig is voordat opnieuw wordt verbonden (cf0b67dc6).
De video-naar-MJPEG-converter hersteld om de framerate uit de encoderuitvoer te parseren en het juiste milliseconde-verschil per frame te schrijven, zodat geconverteerde video’s op de juiste snelheid worden afgespeeld (4a7ad2057).
Hersteld dat firmware-flashing en meegeleverde commandoregeltools niet konden starten door de QProcess-backend te forceren en de event-loop-bewaking van blokkerende processen te corrigeren (200fe9f3c).
De vertakkingspictogrammen voor uitvouwen/inklappen van de dataset-editorboom hersteld zodat ze correct renderen op HiDPI-displays, door de pictogramstijlbladen opnieuw te laden bij wijziging van de device-pixel-ratio (a0e78057f).
Pakket-/resource-updates herstarten nu automatisch OpenMV IDE in plaats van na de installatie alleen af te sluiten (178ee1b8e).
De highlighting van Find-/zoekresultaten hersteld en de zoekresultaat-/bestand-openen-acties teruggevallen op de eerste zichtbare editor wanneer er geen huidige editor is (48c402dfc).
Het firmware-laaddialoogvenster hersteld zodat de waarschuwingstekst wordt gewist en het venster correct van grootte verandert wanneer een flashbewerking voltooid is (c505c6ade).
Verschillende macOS-UI-bugs hersteld: de tabbalk spamt niet langer pictogram-laadfouten en wordt correct getoond bij het openen van een bestand (9be8c58de, 5322cf968).
Styling en baseline-uitlijning van de statusbalk / het output-paneel op macOS en Linux hersteld (4fc4545de, d29b2baa0, a440d5cd8).
Het afdrukken van broncode hersteld zodat de paginatitelheader correcte boven- en zijmarges heeft in plaats van tegen de paginarand aan te zitten (786d6012c).
Platform- en toolondersteuning¶
Qt Creator-basis: 10.0.1 (gerebased vanaf 4.0.2).
OpenMV IDE: 4.0.0 -> 4.0.1.
OpenMV Cam RT1062 (i.MX RT1060): de initiële RT1062-firmware, flash-loader, ondertekende images,
imx.txt-vermelding en secure-bootloader/eFuseblhost-configuratiesleutels zijn toegevoegd in deOPENMV5-firmwaremap (a6595f5f7); het board is vervolgens geconsolideerd tot éénOPENMV_RT1060-map, en een aparte Secure Bootloader (SBL) boardvariant (OpenMV_Cam_RT1062_SBL) is toegevoegd (d2b11c6c8, 5baf28c6e).Meegeleverde flash-toolchain (blhost, bossac, dfu-util, dfuse + STM32-drivers, picotool, sdphost, ffmpeg, FTDI-/Arduino-drivers) is opnieuw meegeleverd voor Windows/macOS/Linux, met de Linux-binaries gemarkeerd als uitvoerbaar (fbfa4903a, bfb6b32e2, 9551c64da).
ARM64 Linux DFU: een meegeleverde aarch64
dfu-utilplus arm64-detectie in de apparaatlijst en firmwaredownload maakt DFU-flashing mogelijk op hosts zoals de Raspberry Pi (16bc6fe0f, 470e5702e).i.MX-apparaatdetectie werkt nu op Linux (door
lsusbte parseren) en macOS (doorioregte scannen), waardoor i.MX RT-firmware op die platforms kan worden geladen (e03ccbe71, 7cf505d09).Platformbeperking: i.MX-gebruik is beperkt tot Windows/macOS/Linux-x86_64 met een kritieke fout elders, en Portenta-/Nicla-flashing op ARM/ARM64 Linux toont een waarschuwing “DFU Util may not be stable on this platform” (9513f6475).
Windows OpenGL: softwarerendering is hersteld door
opengl32sw,Qt6OpenGLen Qt6Gui OpenGL-ondersteuning mee te leveren in het gedistribueerde pakket (aaaa1928f).Arduino-boardmappen/-id’s hernoemd. De firmwaremappen en
boards.txt-board-id’s voor de Portenta, Nicla Vision en Nano 33 BLE Sense zijn hernoemd naarARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONenARDUINO_NANO_33_BLE_SENSE(a70d6562a); de map/board-id van de Nano 33 BLE Sense is daarna omgezet naar kleine lettersarduino_nano_33_ble_senseom overeen te komen met de door het apparaat gerapporteerde boardnaam (22750d8c7, a801a81de).OPENMV_RT1060 bootloader flash-loaders (
blhost_flash_loader.bin,sdphost_flash_loader.bin) zijn bijgewerkt (5baf28c6e).QCustomPlot: 2.1.1 (meegeleverde plotbibliotheek) (8801415fe).
Op schijf opgeslagen firmware-images zijn opnieuw meegeleverd voor alle ondersteunde OpenMV-/Arduino-boards (
OPENMV1-4P,OPENMV4_PRO,OPENMVPT,ARDUINO_NICLA_VISION,arduino_nano_33_ble_sense,ARDUINO_PORTENTA_H7,ARDUINO_NANO_RP2040_CONNECT,OPENMV_RT1060,CYW4343, plusWINC1500WiFi-firmware), met firmware en, waar van toepassing, bootloader-/uvc-images (fbfa4903a).
Brekende wijzigingen¶
Dit zijn voor de gebruiker zichtbare workflow- en gedragswijzigingen; de Qt Creator 10.0.1-rebase zelf breekt geen gebruikersprojecten of -scripts.
i.MX RT1060-boarddefinities gewijzigd. De vermeldingen
EVKBMIMXRT1060enOPENMV5zijn vervangen door éénOPENMV_RT1060-board (OpenMV Cam RT1062, plus een SBL-variant), en de oude firmwaremappen zijn verwijderd (d2b11c6c8).Standaard commando-respons-timeout is 10000 ms (was 5000 ms in 4.0.0); de helptekst van
-override_read_timeoutis dienovereenkomstig bijgewerkt (4a4afae1b).Verbind-/verbreekgedrag gewijzigd. Auto Reconnect staat nu standaard UIT, en verbinden of verbreken stopt het draaiende script standaard niet meer, tenzij de nieuwe schakelaar “Stop Script on Connect/Disconnect” is ingeschakeld (deze staat standaard aan) (a0e78057f).
Updateflow herstart de IDE. Pakket-/resource-updates herstarten nu automatisch OpenMV IDE in plaats van na de installatie af te sluiten (178ee1b8e).
Arduino-board-id’s hernoemd. De
boards.txt-board-id’s en firmwaremappen voor de Portenta, Nicla Vision en Nano 33 BLE Sense zijn hernoemd naarARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONenARDUINO_NANO_33_BLE_SENSE(de laatste later omgezet naar kleine lettersarduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).