v3.1.0

v3.1.0 wprowadza moduł termopary fir (MLX90620 / MLX90640 / AMG8833), debugowanie i wykrywanie IDE przez WiFi za pośrednictwem WINC1500, oprogramowanie układowe kamery internetowej UVC, sensor.shutdown(), image.selective_search() oraz moduły uctypes i pyb.CAN. Niektóre metody image zostały usunięte na OpenMV Cam M4 — przeczytaj poniższe zmiany powodujące niezgodność.

Najważniejsze zmiany

  • Moduł fir — wsparcie kamery termowizyjnej z termoparą MLX90620 / MLX90640 / AMG8833.

  • WiFi IDE — debugowanie i programowanie przez WiFi (WINC1500) z wykrywaniem przez rozgłaszanie UDP (bez potrzeby zakodowanego na stałe IP).

  • Kamera internetowa UVC — oprogramowanie układowe USB Video Class umożliwiające używanie kamery jako kamery internetowej.

  • Nowe APIsensor.shutdown(), image.selective_search() oraz moduły uctypes / pyb.CAN.

  • Niezgodność: image.mean() i image.morph() nie są już dostępne na OpenMV Cam M4 — zobacz zmiany powodujące niezgodność.

Nowe funkcje

  • fir — dodano moduł termopary ze wsparciem MLX90620 / MLX90640 / AMG8833: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir() oraz stałe FIR_MLX90640 / FIR_AMG8833, z przykładami Thermopile-Shield dla poszczególnych sensorów.

  • WiFi IDE — programowanie/debugowanie przez WiFi za pośrednictwem WINC1500 z wykrywaniem przez rozgłaszanie UDP, dzięki czemu OpenMV IDE może automatycznie znajdować kamery (oprogramowanie układowe odczytuje ustawienia STA/AP z IDE).

  • Kamera internetowa UVC — dodano oprogramowanie układowe kamery internetowej USB Video Class.

  • sensor.shutdown() — wyłączanie zasilania kamery za pomocą pinu PWDN.

  • image.selective_search() — prostokąty propozycji regionów, z przykładem selective_search.py.

  • Moduły — włączono moduł uctypes, ponownie włączono pyb.CAN oraz włączono dodatkowe moduły MicroPython; dodano przykład USB-HID oraz funkcję sprawdzającą, czy IDE jest podłączone.

Inne zmiany i usprawnienia

  • Dodano bufor odbioru dla każdego gniazda w celu bardziej niezawodnego recv gniazda WiFi; metody matematyczne image (top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend) są teraz objęte flagą kompilacji IMLIB_ENABLE_MATH_OPS (włączoną domyślnie w standardowym oprogramowaniu układowym).

Poprawki błędów

Obrazowanie i kamera:

  • Naprawiono niezamykanie pliku przez image.save() po zapisie surowych obrazów (obcięte/uszkodzone zapisy) oraz konfigurację GPIO SPI FLIR Lepton.

System i łączność:

  • Obejście błędu erraty flagi SPI BUSY w STM32F7 (2.11.2), naprawiono interwał rozgłaszania debugowania WiFi IDE / czyszczenie gniazda / licznik czasu (timer) debugowania, parsowanie liczb całkowitych openmv.ini oraz opóźnienie pamięci flash H7.

Wsparcie sprzętu i płytek

  • Sensory termopary (FIR) MLX90620 / MLX90640 / AMG8833.

  • Kamera internetowa UVC — oprogramowanie układowe USB Video Class.

  • WINC1500 — debugowanie i wykrywanie IDE przez WiFi.

Zmiany API powodujące niezgodność

Widoczne dla użytkownika zmiany API powodujące niezgodność pomiędzy v3.0.0 a v3.1.0. Zakres: C-moduły Pythona w modules/ oraz biblioteki Pythona w scripts/libraries/.

Zmiany powodujące niezgodność to zmiany behavior ograniczone do OpenMV Cam M4 — ponownie sprawdź dotknięte skrypty. Każdy skrót hasza commita prowadzi do jego diffu na GitHubie.

Usunięto image.mean() / image.morph() na OpenMV Cam M4 (behavior)

Aby zmieścić się w pamięci flash/RAM na OpenMV Cam M4 (OMV2), image.mean() i image.morph() zostały wykompilowane na tej płytce; ich wywołanie zgłasza teraz błąd „unavailable”. Użyj innego filtra (np. image.median() / image.midpoint()) lub uruchom morfologię / filtrowanie uśredniające na nowszej kamerze (M7 / H7). Pozostałe płytki nie są dotknięte.

Commity: abe97a73b, 4e34b32ec

Lista kontrolna migracji

Na OpenMV Cam M4 zastąp image.mean() / image.morph() innym filtrem lub przenieś to przetwarzanie na kamerę M7 / H7 (usunięcie metod na M4). Wszystkie pozostałe skrypty działają bez zmian.