v4.3.1

v4.3.1 aggiunge il supporto per il sensore time-of-flight multi-zona VL53L5CX, un CAN FD migliorato, un finalizzatore ImageIO con chiusura automatica e un ampio insieme di correzioni di affidabilità per camera, USB e soft-reboot.

Punti salienti

  • Supporto per il sensore time-of-flight multi-zona VL53L5CX (modulo Python + esempi).

  • Supporto CAN FD migliorato su STM32.

  • Chiusura automatica di ImageIO — gli stream ora si chiudono da soli quando vengono raccolti dal garbage collector.

  • Incompatibile: lo stdout è ora bufferizzato — vedi la modifica incompatibile.

Nuove funzionalità

  • VL53L5CX — nuovo modulo Python per il sensore ToF multi-zona VL53L5CX, driver ST e script di esempio ToF.

  • Finalizzatore ImageIO — uno stream ImageIO viene ora chiuso automaticamente quando l’oggetto viene raccolto dal garbage collector.

  • CAN FD — supporto CAN FD migliorato su STM32.

  • Bus I2C multi-dispositivo — la scansione del bus della camera può restituire più dispositivi e i sensori termici FIR supportano bus condivisi con altri dispositivi; la porta RP2 ha ottenuto il supporto per la general-call I2C.

Correzioni di bug

Elaborazione delle immagini:

  • Corretto un memory leak in quad_segment_maxima (rilevamento AprilTag/quad), la conversione di colore SIMD YCbCr→RGB, le linee nere sul primo frame e l’uso della cache LCD sull’OpenMV Pure Thermal.

Camera e sensori:

  • Corretta la sincronizzazione della lettura dei frame dell’MLX9064x, la gestione VSYNC EXTI sulla Portenta H7 / STM32 e la modalità di alimentazione e il valore del clock HSE dell’Arduino Nicla Vision.

Sistema e USB:

  • Corretto l’offset del descrittore dell’endpoint USB High-Speed, il de-init dei moduli nella transizione main.py → IDE, la pulizia del soft-reboot (mp_deinit() e reset del buffer CDC), l’inizializzazione di sys.path su nRF e la frequenza fast-mode-plus dell’I2C su RP2.

Hardware e supporto schede

  • Sensore ToF multi-zona VL53L5CX.

  • OpenMV Cam H7 — buffer di linea dei frame più grande (gestisce immagini più larghe).

  • Arduino Nicla Vision — correzioni dell’alimentazione e del clock.

Modifiche API incompatibili

Rotture dell’API visibili all’utente tra la v4.3.0 e la v4.3.1.

L’unica modifica incompatibile è una modifica di comportamento (stessa API, timing diverso).

stdout bufferizzato (comportamento)

L’output standard è ora bufferizzato. L’output di print() potrebbe non apparire immediatamente sull’host/IDE — viene scaricato su una nuova riga o quando il buffer si riempie. Gli script che dipendevano da un output non bufferizzato carattere per carattere dovrebbero aggiungere un flush esplicito (o stampare una nuova riga) dove è richiesto un output immediato.

Commit: 8cddada54

Checklist di migrazione

È interessato solo il timing dell’output: aggiungi un flush esplicito dove ti affidi all’output immediato di print() (la modifica dello stdout bufferizzato). Tutti gli altri script funzionano senza modifiche.