v1.7.0¶
v1.7.0 introduce il modulo cpufreq (controllo della frequenza della CPU / overclocking), il modulo MicroPython os, il controllo dell’aggiornamento / risoluzione del sensore termico MLX e il primo supporto iniziale alla scheda OpenMV Cam M7 (STM32F7). La firma di fir.init(), la gestione dei frame sovradimensionati e la qualità JPEG predefinita sono cambiate: leggi le modifiche incompatibili qui sotto.
In evidenza¶
Modulo
cpufreq: interroga / imposta la frequenza della CPU, con un esempio di overclocking.MLX termico:
fir.init()accetta una frequenza di aggiornamento e una risoluzione ADC.OpenMV Cam M7: primo supporto iniziale alla scheda STM32F7.
Incompatibile:
fir.init()ora accetta solo argomenti keyword, i frame sovradimensionati vengono ritagliati automaticamente e la qualità JPEG predefinita è stata ridotta: vedi le modifiche incompatibili.
Nuove funzionalità¶
cpufreq: aggiunto il modulocpufreqconcpufreq.get_frequency()/cpufreq.set_frequency()e le costantiCPUFREQ_120MHZ/144/168/192/216MHZ, oltre a un esempiooverclocking.py.MLX / FIR:
fir.init()ora accetta una frequenza di aggiornamento e una risoluzione ADC, con i corrispondenti controllirefresh/resolutionper il sensore termico MLX.
Altre modifiche e miglioramenti¶
Affinata la regione AGC/AEC dell’OV7725 (meno motion blur), abilitata la colorbar a tinta unita DSP per l’OV7725 e corretto lo streaming del frame buffer nell’IDE (niente frame obsoleti / duplicati).
Correzioni di bug¶
Corretto un overflow della dimensione di trasferimento DCMI/DMA in
sensor.snapshot(), ripulita la gestione del buffer-overflow nella compressione JPEG, migliorata la regione operativa AEC/AGC dell’OV7725 per una migliore esposizione/guadagno automatici e corretti gli script colorbar / self-test per l’OV7725.
Hardware e supporto schede¶
OpenMV Cam M7 (STM32F7 / OPENMV7): supporto iniziale per scheda e bootloader.
OpenMV 2: clock del sensore pilotato dall’uscita MCO.
Modifiche incompatibili alle API¶
Rotture delle API visibili all’utente tra v1.6.0 e v1.7.0. Ambito: C-module Python in modules/ e librerie Python in scripts/libraries/.
Ogni modifica è contrassegnata dal suo impatto:
minor: API ristretta; interessa solo gli script che la usavano.
behavior: stessa API, risultati diversi; ricontrolla gli script affinati.
Le modifiche sono raggruppate per impatto in quell’ordine. Se vuoi solo portare il tuo codice, salta alla checklist di migrazione in fondo. Ogni hash di commit rimanda al suo diff su GitHub.
fir.init() ora accetta solo argomenti keyword (minor)¶
fir.init() è stata rielaborata per accettare argomenti keyword (type= / refresh= / resolution=, refresh predefinito 64 Hz, max 512 Hz) invece di argomenti posizionali. Aggiorna le chiamate posizionali fir.init(...) alla forma keyword.
Commit: 958c5b7f7
I frame sovradimensionati vengono ritagliati automaticamente a QVGA (behavior)¶
sensor.snapshot() non solleva più un’eccezione quando il frame grezzo supera la dimensione massima di frame grezzo della scheda: i frame grezzi sovradimensionati vengono ora finestrati/ritagliati a QVGA (solo il grezzo in modalità JPEG viene ancora rifiutato). Scegli un framesize supportato se ti affidavi all’errore precedente.
Framesize massimo dell’OpenMV 2 abbassato a QVGA (behavior)¶
Sull’OpenMV 2, il framesize massimo per immagine integrale / grezzo / blob è stato abbassato da VGA a QVGA. Richiedere VGA per operazioni in scala di grigi / RGB565 / blob / immagine integrale sull’OpenMV 2 ora ritaglia a QVGA: riprogetta gli script che dipendevano dall’elaborazione VGA su quella scheda.
Commit: 7499062bd
Qualità JPEG predefinita ridotta (behavior)¶
La qualità JPEG predefinita è stata ridotta (predefinita da 50 → 35, con soglie di subsample IDE più basse) per uno streaming più affidabile. Per impostazione predefinita, i JPEG catturati/in streaming hanno una qualità visibilmente inferiore: passa una quality esplicita a image.compress() se ti serve la qualità precedente.
Commit: d9c8b1535
Checklist di migrazione¶
Per un porting pulito alla v1.7.0 il lavoro tipico è:
Converti le chiamate posizionali
fir.init(...)alla forma keyword (la modifica a fir.init).Usa un framesize supportato invece di affidarti al vecchio errore sui frame sovradimensionati (la modifica sui frame sovradimensionati) e riprogetta l’elaborazione VGA sull’OpenMV 2 (la modifica al framesize dell’OpenMV 2).
Passa una
qualityesplicita aimage.compress()se ti serve la qualità JPEG precedente (la modifica alla qualità JPEG).
Tutti gli altri script funzionano senza modifiche.