v4.4.0¶
v4.4.0 aggiunge un’API tf.regression(), il supporto del FLIR Lepton sulla OpenMV Cam H7 Pro, il supporto del coprocessore Cortex-M4 sull’Arduino Nicla Vision e MicroPython 1.19. Alcuni moduli specifici per scheda e i comportamenti WiFi/LCD sono cambiati: leggi le modifiche con rotture di compatibilità qui sotto.
In evidenza¶
tf.regression()— esegue modelli di regressione TensorFlow Lite con input 1D/output 1D.Supporto del sensore termico FLIR Lepton sulla OpenMV Cam H7 Pro.
Arduino Nicla Vision — supporto del coprocessore Cortex-M4, MicroSpeech funzionante, LPUART1.
MicroPython aggiornato alla 1.19; ulab aggiornato alla 5.1.1.
Rottura di compatibilità: i moduli
lcd/tvdella Nicla Vision sono stati disabilitati e il driver WiFi della RP2040 Connect è cambiato: vedi le modifiche con rotture di compatibilità.
Nuove funzionalità¶
tf.regression(model, input_array)— una nuova funzione per modelli di regressione TensorFlow Lite con input/output 1D, che restituisce una lista di output float.Controlli GC2145 —
sensor.set_auto_exposure()esensor.set_auto_whitebal()ora funzionano sul GC2145 (l’esposizione automatica / il bilanciamento del bianco possono essere disabilitati; esposizione/guadagno espliciti non ancora supportati).Arduino Nicla Vision — sono stati abilitati il supporto del coprocessore Cortex-M4 (CM4) e la periferica LPUART1.
machine.Pin— il pinUSB_VBUSè ora esposto agli script utente.
Altre modifiche e miglioramenti¶
MicroPython aggiornato alla 1.19; ulab alla 5.1.1; il driver WiFi cyw43 incluso è stato aggiornato.
Le porte RP2 (Arduino Nano RP2040 Connect) e nRF (Arduino Nano 33 BLE Sense) sono passate al nuovo debugger basato su TinyUSB per la connessione IDE/host.
L’XCLK dell’OV7670 è stato aumentato da 12 MHz a 24 MHz (set di registri aggiornato).
Correzioni di bug¶
Camera e sensori:
Le statistiche di temperatura dei blob della OpenMV Pure Thermal ora usano l’immagine IR invece dell’immagine a colori, così la temperatura media per blob è corretta.
Corretta la gestione della ROI di
draw_image()e il ridimensionamento dell’area per un output scalato più accurato.L’IMU viene re-inizializzata dopo un soft-reset così continua a funzionare quando il bus SPI dell’IMU è abilitato.
Sistema:
Corretti problemi di confronto signed/unsigned nel rilevamento di caratteristiche FAST/AGAST, nel rilevamento dei blob, in CLAHE e nei driver LCD/TV; corretta la de-inizializzazione di camera-GPIO / SPI / DAC su STM32, la mappatura dei pin LPUART su H7 e la registrazione del modulo
nndi STM32Cube.AI.
Arduino Nicla Vision:
MicroSpeech ora funziona (buffer PDM raddoppiato, aggiunto esempio) e la modalità standby a basso consumo è stata corretta.
Hardware e supporto schede¶
OpenMV Cam H7 Pro — supporto del sensore termico FLIR Lepton.
Arduino Nicla Vision — coprocessore CM4, LPUART1, MicroSpeech, standby a basso consumo.
Modifiche API con rotture di compatibilità¶
Rotture di compatibilità dell’API visibili all’utente tra la v4.3.3 e la v4.4.0. Ambito: moduli C Python in modules/ e librerie Python in scripts/libraries/.
Ogni modifica è contrassegnata con il suo impatto:
minore — API ristretta; interessa solo gli script su una scheda specifica.
comportamento — stessa API, risultati diversi; ricontrolla gli script regolati con cura.
Le modifiche sono raggruppate per impatto in quell’ordine. Se vuoi solo portare il tuo codice, salta alla checklist di migrazione alla fine. Ogni hash di commit rimanda al suo diff su GitHub.
Moduli Nicla Vision e WiFi RP2040 (minore)¶
Sull’Arduino Nicla Vision, i moduli lcd e tv sono stati disabilitati per liberare memoria per il supporto del coprocessore CM4: gli script che usano quei moduli sulla Nicla Vision non li troveranno più. L’Arduino Nano RP2040 Connect è passato dall’implementazione WiFi/nina personalizzata di OpenMV al driver/modulo upstream NINA-W10 di MicroPython, la cui API è diversa.
Timeout dei socket WiFi e flip verticale LCD (comportamento)¶
Un timeout di un socket WINC1500 ora restituisce un errore non bloccante (EWOULDBLOCK) invece di ETIMEDOUT, così i socket scaduti non vengono più chiusi inaspettatamente: il codice che intercettava ETIMEDOUT deve essere aggiornato. Il display dello shield LCD SPI ora solleva ValueError («Vertical flip requires triple buffering!») quando viene richiesto un y_scale negativo senza il triple buffering abilitato.
Checklist di migrazione¶
Per un porting pulito alla v4.4.0 il lavoro tipico è:
Sulla Nicla Vision, smetti di usare
lcd/tv; sul Nano RP2040 Connect, porta il codice WiFi al driver upstream NINA-W10 (le modifiche al modulo della scheda).Aggiorna il codice dei socket WINC1500 per aspettarsi
EWOULDBLOCKal timeout, e abilita il triple buffering per l’output LCD con flip verticale (le modifiche di comportamento).