v4.4.2

v4.4.2 dodaje odwracanie bajtów dla SPI-LCD oraz nadpisywanie zegara MT9V0xx, bardziej odporne wykonywanie skryptów i obsługę gniazd WiFi, a także naprawia istotny błąd copy= obrazu. Zmieniła się kolejność argumentów kompresji JPEG oraz wybór zegara kamery — przeczytaj poniższe zmiany niezgodne wstecz.

Najważniejsze zmiany

  • Odwracanie bajtów SPI LCD oraz nadpisywanie zewnętrznego zegara MT9V0xx.

  • Bardziej odporne wykonywanie skryptów i obsługa wyjątków, a także poprawki gniazd WiFi.

  • Naprawiono błąd copy= w image, który modyfikował oryginalny obiekt.

  • Zmiana niezgodna wstecz: zmieniła się kolejność argumentów pozycyjnych kompresji JPEG oraz wybór zegara kamery — zobacz zmiany niezgodne wstecz.

Nowe funkcje

  • Odwracanie bajtów SPI LCD — ścieżka SPI LCD w STM32 zyskała obsługę odwracania bajtów.

  • Nadpisywanie zegara MT9V0xx — częstotliwość zewnętrznego zegara MT9V0xx można teraz nadpisać (Portenta nadpisuje domyślny zegar sensora MT).

Pozostałe zmiany i ulepszenia

  • Wykonywanie skryptów i obsługa wyjątków zostały uczynione bardziej odpornymi w portach nRF, RP2 i STM32.

  • Zoptymalizowano ładowanie łatki sensora MT9M114 (szybsza inicjalizacja).

Poprawki błędów

Przetwarzanie obrazu:

  • Naprawiono błąd argumentu copy= w operacji image, gdzie modyfikowany był oryginalny obiekt zamiast jego kopii.

Kamera i sensory:

  • Dodano sterowanie odczytem sensora Nicla Vision i naprawiono orientację jego obrazu.

Sieć i USB:

  • WINC1500 utrzymuje teraz nasłuchujące gniazdo otwarte przy upływie limitu czasu accept i prawidłowo czyści kartę sieciową przy zamykaniu gniazd; naprawiono bibliotekę RTSP.

  • Moduł audio korzysta teraz ze statycznych węzłów planisty dla bardziej niezawodnego planowania wywołań zwrotnych; debugger USB jest wyłączany przed zgłoszeniem wyjątków, co poprawia stabilność połączenia z IDE przy błędach skryptu.

Sprzęt i obsługa płytek

  • Arduino Nicla Vision — sterowanie odczytem sensora i poprawiona orientacja obrazu.

  • Arduino Portenta — nadpisuje domyślny zegar sensora MT.

Zmiany API niezgodne wstecz

Widoczne dla użytkownika zmiany API niezgodne wstecz między v4.4.1 a v4.4.2. Zakres: moduły C Pythona w modules/ oraz biblioteki Pythona w scripts/libraries/.

Obie zmiany niezgodne wstecz to zmiany behavior (to samo API, inne wyniki) — sprawdź ponownie dostrojone skrypty. Każdy skrót commita prowadzi do jego diffa na GitHubie.

Kolejność argumentów kompresji JPEG (behavior)

Obsługa argumentów pozycyjnych rodziny kompresji JPEG (compress() / compressed() / JPEG save()) została poprawiona tak, że quality jest pierwszym argumentem pozycyjnym, z wartością domyślną 90. Skrypty, które przekazywały argumenty kompresji pozycyjnie według poprzedniej (błędnej) kolejności, muszą zostać zaktualizowane.

Commit: 509b094a5

Wybór częstotliwości zegara kamery (behavior)

Wybór zewnętrznego zegara kamery w STM32 wybiera teraz najbliższą dostępną częstotliwość poniżej żądanej wartości, zamiast zawodzić lub ją przekraczać. Rzeczywisty zegar pikseli dla danego żądania może różnić się od poprzednich wydań — sprawdź ponownie przechwytywania wrażliwe na czas.

Commit: 39ba1a7f5

Lista kontrolna migracji

Aby czysto przenieść kod do v4.4.2: przekazuj JPEG quality jako pierwszy argument pozycyjny (lub jako słowo kluczowe) (zmiana argumentów JPEG) oraz sprawdź ponownie wszelkie wrażliwe na czas ustawienia zegara kamery (zmiana wyboru zegara).