v2.4.0¶
v2.4.0 è basato su Qt Creator 4.0.2 ed è incentrato sul nuovo bootloader V3 (interrogazione del layout della flash QSPI durante il caricamento del firmware e cancellazione durante una cancellazione completa della data-flash onboard), sul reporting in tempo reale di sensore e scheda nella barra di stato e su un nuovo protocollo di debug USB a 32 bit allineato al firmware incluso. Aggiunge inoltre una guida ai LED al primo avvio e un ampio set di nuovi esempi TensorFlow, Modbus e WiFi. Poiché il protocollo di debug è cambiato, le camere devono eseguire il nuovo firmware incluso per potersi connettere.
In evidenza¶
Supporto al bootloader V3 interroga il layout della flash QSPI esterna della scheda durante il caricamento del firmware e la cancella durante una cancellazione completa della data-flash onboard (d953df62f).
Reporting di sensore e scheda interroga il modulo sensore della camera connessa alla connessione e lo mostra nella barra di stato (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) insieme a una nuova etichetta del tipo di scheda (0ffa82958).
Copia dei modelli TensorFlow consente di copiare i modelli
.tflitesulla camera, non solo i file di rete neurale.network(ad1aa98f0).Erase Onboard Data Flash è un nuovo comando
Toolsche cancella solo la flash del filesystem onboard della camera, previa richiesta di conferma, senza riflashare il firmware (d953df62f, 98686ac46).Guida ai LED al primo avvio è una nuova finestra di dialogo
OpenMV Cam LED Colorsche spiega gli stati del LED onboard e può essere chiusa definitivamente (c2d00422f).
Nuove funzionalità¶
Bootloader V3 interroga il layout della flash QSPI durante il caricamento del firmware e cancella la flash QSPI esterna solo durante una cancellazione completa della data-flash onboard;
connectClickedesegue semprebootloaderQSPIFLayoutsulle schede V3 ma eseguebootloaderQSPIFErasesolo quandoforceFlashFSEraseè impostato (i comandi QSPI di write/memtest sono implementati nel livello IO ma non vengono utilizzati dal loader) (d953df62f).Stato di sensore e scheda interroga il modulo sensore della camera alla connessione e lo visualizza (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) nella barra di stato, insieme a una nuova etichetta del tipo di scheda, usando una nuova mappa id-nome
sensors.txt(0ffa82958).Guida ai LED al primo avvio aggiunge una nuova finestra di dialogo
OpenMV Cam LED Colorsche compare dopo un breve ritardo quandohelloworld_1.pyè il documento aperto al primo avvio, spiegando gli stati del LED onboard (verde lampeggiante = bootloader in esecuzione, blu = esecuzione dimain.py, bianco = panic per guasto hardware); una casella di controllo «Don’t show this message again.» rende persistente la chiusura tramite un’impostazioneDONT_SHOW_LED_STATES_AGAIN(c2d00422f).Open OpenMV Cam Drive folder è una nuova voce del menu
Toolsche apre il drive montato della camera nel file browser di sistema (a49f54305).Erase Onboard Data Flash è un nuovo comando
Toolsche cancella solo la flash del filesystem onboard, previa richiesta di conferma, senza riflashare il firmware (d953df62f, 98686ac46).Copia dei modelli TensorFlow consente alla finestra di dialogo di copia dei modelli di copiare sulla camera i modelli
.tfliteoltre ai file di rete neurale.network; il filtro della finestra di dialogo ha guadagnato anche le vociLabel Files (*.txt)eAll Files(ad1aa98f0, 0ffa82958, c0dbdd9e5).Switch della versione del protocollo di debug suddivide i comandi seriali
GetAttribute,SetAttribute,FBEnableeJPEGEnablequando comunica con firmware 3.5.3+ per maggiore affidabilità (83b9ca18f).Nuovi esempi inclusi aggiungono script TensorFlow Lite mobilenet e di person-detection a finestra scorrevole, oltre a un esempio MNIST con STM32Cube.AI (
nn_stm32cubeai.py), una nuova cartella32-modbus(modbus_rtu_slave.py,modbus_apriltag.py), aggiunte per lo shield WiFi (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI-slave e CAN (e26b90d79, 42ba8f5c4).
Altre modifiche e miglioramenti¶
Aggiornato il protocollo di debug USB al nuovo firmware: le letture degli attributi usano il nuovo comando
ATTR_READ_2(0xCA) a 32 bit, e i payload di attributo, valore e abilitazione del framebuffer vengono inviati come long a 32 bit invece che come word a 16 bit (55d7cfe70).Rinominato Save open script to OpenMV Cam in Save open script to OpenMV Cam (as main.py) per chiarire che scrive
main.py(a49f54305).Rinominato Run Bootloader in Run Bootloader (Load Firmware) per chiarirne lo scopo (ad1aa98f0).
I menu degli esempi sono ora ordinati in base al prefisso numerico della cartella/file, e le cifre iniziali
NN-vengono rimosse dai nomi visualizzati (ad1aa98f0).I terminali di output e seriale ora rendono i tab come spazi usando una larghezza dei tab del terminale seriale configurabile dalle impostazioni dell’editor di testo invece di una larghezza fissa di 8 (98686ac46).
Il rilevamento dei drive su Linux ora accetta anche i filesystem montati come
fuseblk(per esempio volumi exFAT/NTFS) quando associa il drive della camera (c0dbdd9e5).Aggiornato il set di documentazione HTML di MicroPython incluso (library reference, tutorial esp8266/esp32, pagine e immagini generate) mostrato nell’aiuto dell’IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
Correzioni di bug¶
Corretto un overflow numerico nelle statistiche dell’istogramma (media, quartili, mediana, deviazione standard) allargando gli accumulatori da
inta 64 bit, evitando statistiche errate su immagini di grandi dimensioni (55d7cfe70).Rivisto disconnect/eject su Linux: l’inaffidabile flush
syncfs/closedirè stato rimosso e il drive viene ora smontato con un semplice comandoumount, senza finestra di avanzamento (b86d5c62c, c0dbdd9e5, 30d4a7d2d).Il drive USB della scheda viene ora associato solo quando il firmware è sufficientemente nuovo oppure è presente un file marcatore
.openmv_disk, evitando che l’IDE prenda il drive rimovibile sbagliato (e464eaed4).Corretta la logica di riconnessione in modo che l’avvio di un’operazione di bootloader/cancellazione mentre si è connessi ora si disconnetta prima in modo pulito e poi riprovi, evitando uno stato di lavoro bloccato (d953df62f).
Riscritto come macchina a stati consapevole delle stringhe il rimozione di commenti/spazi usato quando si inviano script alla camera, in modo che i caratteri
#all’interno delle stringhe non vengano più scambiati per commenti, e che gli spazi finali e le docstring vengano gestiti (24dff1b2f).Corretta la gestione delle stringhe di traduzione per diversi messaggi delle finestre di dialogo di connessione/terminale, in modo che i comandi shell incorporati (
sudo adduser, passaggi di installazione dipydfu) non facciano più parte del testo traducibile e vengano renderizzati correttamente (b5705a57e).
Supporto a piattaforme e strumenti¶
Base Qt Creator: 4.0.2.
Rinominata la scheda/firmware OpenMV Cam H7 Plus da
OPENMV4RaOPENMV4P(OMV4P_H7_32768_SDRAM) e incluso il relativo firmware con il nuovo nome (c0dbdd9e5).Corretto il nome visualizzato della scheda H7 Plus per usare trattini bassi invece di spazi (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).Il firmware incluso è stato aggiornato nel corso della release, terminando alla versione 3.5.2 per OPENMV2/3/4/4P (incremento finale in 15c07498c; precedenti incrementi cumulativi in 42ba8f5c4 alla 3.4.2, a99c2e3e1 alla 3.4.3, e26b90d79 alla 3.5.0, e 97b0f645a alla 3.5.1).
Versioni del firmware incluso: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
Versione di OpenMV IDE incrementata da 2.2.1 a 2.4.0.
Modifiche che rompono la compatibilità¶
Il protocollo USB di lettura degli attributi di debug è stato commutato dal vecchio comando ATTR_READ (0x8A) a 16 bit al nuovo comando ATTR_READ_2 (0xCA) a 32 bit, e i payload di attributo, valore e abilitazione vengono ora inviati come long a 32 bit; l’IDE interroga inoltre l’ID del sensore della camera alla connessione. Questo richiede un firmware che implementi il nuovo protocollo. Il firmware 1.2.15 / 1.4.11 incluso lo fornisce, quindi le camere più vecchie devono essere flashate al nuovo firmware per potersi connettere.