v4.4.0¶
v4.4.0 dodaje API tf.regression(), obsługę FLIR Lepton na OpenMV Cam H7 Pro, obsługę koprocesora Cortex-M4 na Arduino Nicla Vision oraz MicroPython 1.19. Zmieniło się kilka modułów specyficznych dla płytek oraz zachowanie WiFi/LCD — przeczytaj poniższe zmiany niezgodne wstecz.
Najważniejsze zmiany¶
tf.regression()— uruchamianie modeli regresyjnych TensorFlow Lite z wejściem 1D i wyjściem 1D.Obsługa termicznego sensora FLIR Lepton na OpenMV Cam H7 Pro.
Arduino Nicla Vision — obsługa koprocesora Cortex-M4, działający MicroSpeech, LPUART1.
MicroPython zaktualizowany do 1.19; ulab zaktualizowany do 5.1.1.
Zmiana niezgodna wstecz: moduły
lcd/tvna Nicla Vision zostały wyłączone, a sterownik WiFi RP2040 Connect uległ zmianie — zobacz zmiany niezgodne wstecz.
Nowe funkcje¶
tf.regression(model, input_array)— nowa funkcja dla modeli regresyjnych TensorFlow Lite z wejściem/wyjściem 1D, zwracająca listę wyników zmiennoprzecinkowych.Sterowanie GC2145 —
sensor.set_auto_exposure()isensor.set_auto_whitebal()są teraz funkcjonalne na GC2145 (automatyczną ekspozycję / balans bieli można wyłączyć; jawne ustawianie ekspozycji/wzmocnienia nie jest jeszcze obsługiwane).Arduino Nicla Vision — włączono obsługę koprocesora Cortex-M4 (CM4) oraz urządzenia peryferyjnego LPUART1.
machine.Pin— pinUSB_VBUSjest teraz udostępniany skryptom użytkownika.
Pozostałe zmiany i ulepszenia¶
MicroPython zaktualizowany do 1.19; ulab do 5.1.1; zaktualizowano dołączony sterownik WiFi cyw43.
Porty RP2 (Arduino Nano RP2040 Connect) i nRF (Arduino Nano 33 BLE Sense) przeszły na nowy debugger oparty na TinyUSB dla połączenia z IDE/hostem.
Zegar XCLK układu OV7670 został podniesiony z 12 MHz do 24 MHz (zaktualizowany zestaw rejestrów).
Poprawki błędów¶
Kamera i sensory:
Statystyki temperatury plam (blob) w OpenMV Pure Thermal korzystają teraz z obrazu IR zamiast z obrazu kolorowego, dzięki czemu średnia temperatura na plamę jest prawidłowa.
Naprawiono obsługę ROI w
draw_image()oraz skalowanie obszaru, co daje dokładniejsze skalowane wyjście.IMU jest ponownie inicjalizowane po miękkim resecie, dzięki czemu działa nadal, gdy magistrala SPI dla IMU jest włączona.
System:
Naprawiono problemy z porównaniami ze znakiem/bez znaku w wykrywaniu cech FAST/AGAST, wykrywaniu plam (blob), CLAHE oraz sterownikach LCD/TV; naprawiono deinicjalizację GPIO kamery / SPI / DAC w STM32, mapowanie pinów LPUART w H7 oraz rejestrację modułu
nnSTM32Cube.AI.
Arduino Nicla Vision:
MicroSpeech już działa (podwojony bufor PDM, dodany przykład), naprawiono też tryb czuwania o niskim poborze mocy.
Sprzęt i obsługa płytek¶
OpenMV Cam H7 Pro — obsługa termicznego sensora FLIR Lepton.
Arduino Nicla Vision — koprocesor CM4, LPUART1, MicroSpeech, czuwanie o niskim poborze mocy.
Zmiany API niezgodne wstecz¶
Widoczne dla użytkownika zmiany API niezgodne wstecz między v4.3.3 a v4.4.0. Zakres: moduły C Pythona w modules/ oraz biblioteki Pythona w scripts/libraries/.
Każda zmiana jest oznaczona swoim wpływem:
minor — wąskie API; dotyczy tylko skryptów na konkretnej płytce.
behavior — to samo API, inne wyniki; sprawdź ponownie dostrojone skrypty.
Zmiany są pogrupowane według wpływu w tej kolejności. Jeśli chcesz po prostu przenieść swój kod, przejdź do listy kontrolnej migracji na końcu. Każdy skrót commita prowadzi do jego diffa na GitHubie.
Moduły Nicla Vision i WiFi RP2040 (minor)¶
Na Arduino Nicla Vision moduły lcd i tv zostały wyłączone, aby zwolnić pamięć na obsługę koprocesora CM4 — skrypty korzystające z tych modułów na Nicla Vision nie znajdą ich już. Arduino Nano RP2040 Connect przeszło z autorskiej implementacji WiFi/nina firmy OpenMV na nadrzędny sterownik/moduł NINA-W10 z MicroPythona, którego API jest odmienne.
Limit czasu gniazda WiFi i pionowe odbicie LCD (behavior)¶
Limit czasu gniazda WINC1500 zwraca teraz błąd nieblokujący (EWOULDBLOCK) zamiast ETIMEDOUT, dzięki czemu gniazda, w których upłynął limit czasu, nie są już nieoczekiwanie zamykane — kod przechwytujący ETIMEDOUT musi zostać zaktualizowany. Moduł display dla nakładki SPI LCD zgłasza teraz ValueError („Vertical flip requires triple buffering!”), gdy zażądano ujemnej wartości y_scale bez włączonego potrójnego buforowania.
Lista kontrolna migracji¶
Aby czysto przenieść kod do v4.4.0, typowa praca to:
Na Nicla Vision przestań używać
lcd/tv; na Nano RP2040 Connect przenieś kod WiFi na nadrzędny sterownik NINA-W10 (zmiany modułów płytki).Zaktualizuj kod gniazd WINC1500, aby oczekiwał
EWOULDBLOCKprzy upływie limitu czasu, oraz włącz potrójne buforowanie dla pionowo odbitego wyjścia LCD (zmiany zachowania).