v1.8.0

v1.8.0 è una importante release di funzionalità incentrata su networking e video: aggiunge la programmazione via WiFi delle OpenMV Cam, un registratore video del frame buffer e un menu Tools > Video Tools basato su ffmpeg/ffplay integrati. Aggiunge inoltre il supporto per la nuova scheda OpenMV Cam H7 (OMV4) ed estende l’IDE al Raspberry Pi (Linux ARM). Questa release rimane basata su Qt Creator 4.0.2 e non introduce modifiche incompatibili per i progetti esistenti.

In evidenza

  • Programmazione via WiFi. L’IDE ora ascolta gli annunci broadcast UDP provenienti dalle OpenMV Cam dotate di uno shield WiFi, elenca le camere rilevate (nome più IP:port) nella finestra di connessione e comunica con esse tramite TCP come alternativa alla porta seriale (69dc7dfbf).

  • Registratore video del frame buffer. I nuovi pulsanti Record/Stop della barra degli strumenti catturano il flusso di immagini live in un file ImageWriter di OpenMV mostrando un’etichetta di stato con tempo trascorso/dimensione/FPS (39142ef70, 5aceab31a).

  • Menu Video Tools. Tools > Video Tools aggiunge Convert Video File e Play Video File, usando ffmpeg/ffplay integrati per transcodificare e riprodurre video e convertendo in modo trasparente le registrazioni .bin di ImageWriter in MJPEG AVI; Play Video File è disponibile solo su Windows e macOS, poiché ffplay non è integrato per Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).

  • OpenMV Cam H7 (OMV4). La nuova scheda STM32H743 è ora riconosciuta e viene fornita con il proprio bootloader e firmware integrati (e14810382).

  • Supporto Raspberry Pi. Le build dell’IDE per Linux ARM sono ora abilitate, portando OpenMV IDE sul Raspberry Pi (f551b5f97).

Nuove funzionalità

  • Configurazione del file delle impostazioni della OpenMV Cam. Tools aggiunge una finestra per scrivere le impostazioni di boot/WiFi main.ini della camera, tra cui l’abilitazione del WiFi, la scelta tra modalità client e access-point, SSID/password/tipo di sicurezza, il nome della scheda e un’opzione Duplicate REPL on the UART on startup memorizzata nelle impostazioni di boot di main.ini (69dc7dfbf, 39142ef70).

  • Opzioni da riga di comando per il terminale di rete. Aggiunte -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal e -open_tcp_server_terminal accanto all’esistente opzione per il terminale seriale (6362066a8, d75209269).

  • Opzioni aggiuntive da riga di comando. Esposte -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout e -override_read_stall_timeout (061aacf15).

  • Modalità server del terminale. Le connessioni del terminale UDP/TCP possono ora funzionare in modalità server, vincolandosi a una porta locale (la porta 0 ne sceglie una qualsiasi) invece di connettersi solo verso un host (956e8a2f5).

  • Nuovi script di esempio. Aggiunti esempi di correzione lente, correzione della rotazione 3D e basso consumo con sensore in sleep, e riscritto l’esempio di rilevamento di segmenti di linea con la nuova API find_line_segments(merge_distance, max_theta_diff) (061aacf15).

Altre modifiche e miglioramenti

  • I calltip degli argomenti delle funzioni e l’evidenziazione della sintassi ora si estendono correttamente su più righe, così le chiamate di funzione multilinea mantengono i suggerimenti sugli argomenti e l’evidenziazione (6535e9fdd, 4638bdd18).

  • La barra di stato risoluzione/ROI del terminale ora riporta anche il numero di pixel della ROI (956e8a2f5).

  • La finestra di registrazione della OpenMV Cam ora mostra la scheda/ID e un’email di supporto, e la finestra di avanzamento Connecting... consiglia di premere Annulla dopo 5 secondi (4638bdd18, e14810382).

  • Il pannello Search Results ridefinisce lo stile del margine dei numeri di riga e del testo dei risultati con colori espliciti per il tema scuro, così risultano leggibili sull’interfaccia scura (b2599f9ea).

  • I cicli di scrittura del terminale seriale/UDP/TCP ora cedono brevemente il controllo tra una scrittura e l’altra per mantenere reattiva l’interfaccia e migliorare il throughput (c4700e2b0).

  • I campi dei valori statistici dell’istogramma ora riservano una larghezza minima fissa, così il pannello non si ridispone più al variare dei numeri, e i pulsanti del cassetto di cambio modalità si estendono invece di usare una larghezza fissa di 160px (5aceab31a).

  • Soppresso lo spurio avviso JIT is disabled for QML all’avvio tramite un gestore di messaggi Qt personalizzato (954220e39).

Correzioni di bug

  • I tooltip della documentazione e l’evidenziazione ora riconoscono i tipi di eccezione Python (trattati come dati), e diverse voci della documentazione dei moduli/indice sono state corrette in modo da apparire correttamente (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).

  • Rese più robuste le analisi del controllo aggiornamenti dei pacchetti e del broadcast/registrazione della camera con regex ancorate e ripulite e una corrispondenza più rigorosa delle risposte HTML per evitare falsi riscontri (461af1148, 4638bdd18).

  • Corretto l’identificatore di scheda della OpenMV Cam M4 (OpenMV2) usato per il rilevamento dell’API del firmware obsoleto, da OMV2 a OPENMV2 (449024fe8).

  • Resi più robusti l’I/O della camera e il transcodificatore video contro dati di frame corrotti/sovradimensionati con controlli più rigorosi sui limiti di larghezza/altezza/bpp/durata, ed evitata una divisione per zero nel calcolo degli FPS del video (08248f208, d0cbc27e5).

  • Gli strumenti di conversione/riproduzione video ora funzionano su macOS, 32 bit e Linux-ARM avviando ffmpeg/ffplay tramite uno script shell generato o un wrapper cmd.exe e includendo i binari ffmpeg per Linux (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).

Supporto piattaforme e strumenti

  • Base Qt Creator: 4.0.2.

  • OpenMV Cam H7 (OMV4, STM32H743): nuova scheda riconosciuta con il proprio bootloader e firmware integrati (e14810382).

  • Firmware OpenMV integrato: portato alla versione 2.6.0 per OPENMV2/OPENMV3/OPENMV4 (e14810382).

  • ffmpeg/ffplay integrati: aggiunte build statiche di ffmpeg 3.3.3 per Windows, macOS, Linux x86, Linux x86_64 e Linux ARM (Raspberry Pi); ffplay è integrato solo per Windows e macOS (2193d7923, af92ad59e).

  • Raspberry Pi (Linux ARM): build abilitate disabilitando l”HelpManager della guida offline e passando il packaging bindist a un tar.gz (f551b5f97).

Modifiche incompatibili

Nessuna. Questa release rimane basata su Qt Creator 4.0.2 e i progetti e i flussi di lavoro esistenti non sono interessati.