v4.3.1

v4.3.1 dodaje obsługę wielostrefowego czujnika time-of-flight VL53L5CX, ulepszone CAN FD, automatycznie zamykający finalizator ImageIO oraz szeroki zestaw poprawek niezawodności kamery, USB i miękkiego restartu.

Najważniejsze zmiany

  • Obsługa wielostrefowego czujnika time-of-flight VL53L5CX (moduł Pythona + przykłady).

  • Ulepszona obsługa CAN FD na STM32.

  • Automatyczne zamykanie ImageIO — strumienie zamykają się teraz same podczas odśmiecania pamięci.

  • Zmiana łamiąca zgodność: stdout jest teraz buforowany — zobacz zmianę łamiącą zgodność.

Nowe funkcje

  • VL53L5CX — nowy moduł Pythona dla wielostrefowego czujnika ToF VL53L5CX, sterownik ST oraz przykładowe skrypty ToF.

  • Finalizator ImageIO — strumień ImageIO jest teraz zamykany automatycznie, gdy obiekt jest odśmiecany.

  • CAN FD — ulepszona obsługa CAN FD na STM32.

  • Magistrale I2C z wieloma urządzeniami — skanowanie magistrali kamery może zwracać wiele urządzeń, a sensory termiczne FIR obsługują magistrale współdzielone z innymi urządzeniami; port RP2 otrzymał obsługę wywołań ogólnych (general-call) I2C.

Poprawki błędów

Przetwarzanie obrazu:

  • Naprawiono wyciek pamięci w quad_segment_maxima (wykrywanie AprilTag/czworokątów), konwersję kolorów SIMD YCbCr→RGB, czarne linie na pierwszej ramce oraz użycie pamięci podręcznej LCD w OpenMV Pure Thermal.

Kamera i sensory:

  • Naprawiono synchronizację odczytu ramki MLX9064x, obsługę VSYNC EXTI na Portenta H7 / STM32 oraz tryb zasilania i wartość zegara HSE w Arduino Nicla Vision.

System i USB:

  • Naprawiono przesunięcie deskryptora punktu końcowego USB High-Speed, deinicjalizację modułów podczas przejścia main.py → IDE, czyszczenie po miękkim restarcie (mp_deinit() i reset bufora CDC), inicjalizację sys.path na nRF oraz częstotliwość trybu fast-mode-plus I2C na RP2.

Obsługa sprzętu i płytek

  • Wielostrefowy czujnik ToF VL53L5CX.

  • OpenMV Cam H7 — większy bufor linii ramki (obsługuje szersze obrazy).

  • Arduino Nicla Vision — poprawki zasilania i zegara.

Zmiany API łamiące zgodność

Widoczne dla użytkownika zmiany API łamiące zgodność między v4.3.0 a v4.3.1.

Jedyną zmianą łamiącą zgodność jest zmiana behavior (to samo API, inne taktowanie czasowe).

Buforowany stdout (behavior)

Standardowe wyjście jest teraz buforowane. Wyjście print() może nie pojawić się natychmiast na hoście/w IDE — jest opróżniane przy znaku nowej linii lub gdy bufor się zapełni. Skrypty, które polegały na niebuforowanym wyjściu znak po znaku, powinny dodać jawne opróżnienie (lub wypisać znak nowej linii) tam, gdzie wymagane jest natychmiastowe wyjście.

Commit: 8cddada54

Lista kontrolna migracji

Dotyczy to tylko taktowania wyjścia: dodaj jawne opróżnienie tam, gdzie polegasz na natychmiastowym wyjściu print() (zmiana buforowanego stdout). Wszystkie pozostałe skrypty działają bez zmian.