v3.1.0

v3.1.0 introduce il modulo per termopile fir (MLX90620 / MLX90640 / AMG8833), il debug e la scoperta via WiFi dell’IDE tramite il WINC1500, un firmware webcam UVC, sensor.shutdown(), image.selective_search() e i moduli uctypes e pyb.CAN. Alcuni metodi di image sono stati rimossi sulla OpenMV Cam M4 — leggi le modifiche incompatibili qui sotto.

In evidenza

  • Modulo fir — supporto per camere termiche a termopila MLX90620 / MLX90640 / AMG8833.

  • WiFi IDE — debug e programmazione via WiFi (WINC1500) con scoperta tramite broadcast UDP (nessun IP cablato necessario).

  • Webcam UVC — un firmware USB Video Class per usare la camera come webcam.

  • Nuove APIsensor.shutdown(), image.selective_search() e i moduli uctypes / pyb.CAN.

  • Incompatibile: image.mean() e image.morph() non sono più disponibili sulla OpenMV Cam M4 — vedi le modifiche incompatibili.

Nuove funzionalità

  • fir — aggiunto il modulo per termopile con supporto MLX90620 / MLX90640 / AMG8833: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir() e le costanti FIR_MLX90640 / FIR_AMG8833, con esempi Thermopile-Shield per ciascun sensore.

  • WiFi IDE — programmazione/debug via WiFi tramite il WINC1500 con scoperta tramite broadcast UDP così che OpenMV IDE possa trovare automaticamente le camere (il firmware legge le impostazioni STA/AP dall’IDE).

  • Webcam UVC — aggiunto un firmware webcam USB Video Class.

  • sensor.shutdown() — spegne la camera tramite il pin PWDN.

  • image.selective_search() — rettangoli di proposta di regioni, con un esempio selective_search.py.

  • Moduli — abilitato il modulo uctypes, riabilitato pyb.CAN e abilitati ulteriori moduli MicroPython; aggiunto un esempio USB-HID e una funzione per verificare se l’IDE è connesso.

Altre modifiche e miglioramenti

  • Aggiunto un buffer di ricezione per socket per una recv dei socket WiFi più affidabile; i metodi matematici di image (top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend) sono ora dietro un flag di build IMLIB_ENABLE_MATH_OPS (abilitato per impostazione predefinita sul firmware standard).

Correzioni di bug

Imaging e camera:

  • Corretto image.save() che non chiudeva il file dopo la scrittura di immagini raw (salvataggi troncati/corrotti) e la configurazione GPIO SPI del FLIR Lepton.

Sistema e connettività:

  • Aggirato l’errata BUSY-flag SPI dell’STM32F7 (2.11.2), corretto l’intervallo di broadcast / la pulizia dei socket / il timer di debug del WiFi IDE-debug, il parsing degli interi di openmv.ini e la latenza della flash H7.

Hardware e supporto delle schede

  • Sensori a termopila (FIR) MLX90620 / MLX90640 / AMG8833.

  • Webcam UVC — firmware USB Video Class.

  • WINC1500 — debug e scoperta via WiFi dell’IDE.

Modifiche API incompatibili

Modifiche API visibili all’utente tra la v3.0.0 e la v3.1.0. Ambito: i moduli C Python in modules/ e le librerie Python in scripts/libraries/.

Le modifiche incompatibili sono modifiche di comportamento limitate alla OpenMV Cam M4 — ricontrolla gli script interessati. Ogni hash di commit rimanda al relativo diff su GitHub.

image.mean() / image.morph() rimossi sulla OpenMV Cam M4 (comportamento)

Per rientrare nei limiti di flash/RAM sulla OpenMV Cam M4 (OMV2), image.mean() e image.morph() sono stati esclusi dalla compilazione su quella scheda; chiamarli ora solleva un errore di «non disponibile». Usa un filtro diverso (ad esempio image.median() / image.midpoint()) o esegui la morfologia / il filtraggio della media su una camera più recente (M7 / H7). Le altre schede non sono interessate.

Commit: abe97a73b, 4e34b32ec

Checklist di migrazione

Sulla OpenMV Cam M4, sostituisci image.mean() / image.morph() con un altro filtro o sposta quell’elaborazione su una camera M7 / H7 (la rimozione dei metodi sulla M4). Tutti gli altri script vengono eseguiti senza modifiche.