v4.4.0

v4.4.0 додає API tf.regression(), підтримку FLIR Lepton на OpenMV Cam H7 Pro, підтримку співпроцесора Cortex-M4 на Arduino Nicla Vision та MicroPython 1.19. Деякі модулі для конкретних плат і поведінка WiFi/LCD змінились — читайте про критичні зміни нижче.

Основні можливості

  • tf.regression() — виконання регресійних моделей TensorFlow Lite з 1D-входом/1D-виходом.

  • Підтримка теплового датчика FLIR Lepton на OpenMV Cam H7 Pro.

  • Arduino Nicla Vision — підтримка співпроцесора Cortex-M4, робота MicroSpeech, LPUART1.

  • MicroPython оновлено до 1.19; ulab оновлено до 5.1.1.

  • Критична зміна: модулі lcd/tv на Nicla Vision вимкнено, а драйвер WiFi RP2040 Connect змінено — дивіться критичні зміни.

Нові можливості

  • tf.regression(model, input_array) — нова функція для регресійних моделей TensorFlow Lite з 1D-входом/виходом, що повертає список значень з плаваючою точкою.

  • Керування GC2145sensor.set_auto_exposure() та sensor.set_auto_whitebal() тепер працюють на GC2145 (автоматичну витримку / баланс білого можна вимкнути; явне встановлення витримки/підсилення ще не підтримується).

  • Arduino Nicla Vision — увімкнено підтримку співпроцесора Cortex-M4 (CM4) та периферійного пристрою LPUART1.

  • machine.Pin — вивід USB_VBUS тепер доступний у скриптах користувача.

Інші зміни та покращення

  • MicroPython оновлено до 1.19; ulab до 5.1.1; оновлено вбудований драйвер WiFi cyw43.

  • Порти RP2 (Arduino Nano RP2040 Connect) та nRF (Arduino Nano 33 BLE Sense) перейшли на новий налагоджувач на базі TinyUSB для з’єднання IDE/хост.

  • XCLK для OV7670 підвищено з 12 МГц до 24 МГц (оновлений набір регістрів).

Виправлення помилок

Камера та датчики:

  • Статистика температури плям OpenMV Pure Thermal тепер використовує ІЧ-зображення замість кольорового, тому середня температура кожної плями розраховується правильно.

  • Виправлено обробку ROI у draw_image() та масштабування площі для точнішого масштабованого виводу.

  • IMU повторно ініціалізується після програмного скидання, тому продовжує працювати, коли ввімкнено шину SPI для IMU.

Система:

  • Виправлено проблеми зі знаковим/беззнаковим порівнянням у виявленні ознак FAST/AGAST, виявленні плям, CLAHE та драйверах LCD/TV; виправлено де-ініціалізацію камери-GPIO / SPI / DAC на STM32, відображення виводів H7 LPUART та реєстрацію модуля nn STM32Cube.AI.

Arduino Nicla Vision:

  • MicroSpeech тепер працює (збільшено буфер PDM удвічі, додано приклад), виправлено режим очікування з низьким енергоспоживанням.

Апаратне забезпечення та підтримка плат

  • OpenMV Cam H7 Pro — підтримка теплового датчика FLIR Lepton.

  • Arduino Nicla Vision — співпроцесор CM4, LPUART1, MicroSpeech, режим очікування з низьким енергоспоживанням.

Критичні зміни API

Зміни API, видимі користувачу, між v4.3.3 та v4.4.0. Область: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.

Кожна зміна позначена за впливом:

  • minor — вузький API; стосується лише скриптів для конкретної плати.

  • behavior — той самий API, різні результати; перевірте налаштовані скрипти.

Зміни згруповані за впливом у такому порядку. Якщо ви просто хочете перенести свій код, перейдіть до контрольного списку міграції в кінці. Кожен хеш коміту є посиланням на різницю на GitHub.

Модулі Nicla Vision та WiFi RP2040 (minor)

На Arduino Nicla Vision модулі lcd та tv було вимкнено для звільнення пам’яті для підтримки співпроцесора CM4 — скрипти, що використовують ці модулі на Nicla Vision, більше їх не знайдуть. Arduino Nano RP2040 Connect перейшов з власної реалізації WiFi/nina від OpenMV на драйвер/модуль NINA-W10 від основного MicroPython, API якого відрізняється.

Коміти: f78d191e3, ddf01cb09

Тайм-аут сокета WiFi та вертикальне перевертання LCD (behavior)

Тайм-аут сокета WINC1500 тепер повертає помилку неблокувального режиму (EWOULDBLOCK) замість ETIMEDOUT, тому сокети з тайм-аутом більше не закриваються несподівано — код, що перехоплював ETIMEDOUT, потрібно оновити. SPI LCD шилд display тепер викидає ValueError («Vertical flip requires triple buffering!») коли запитується від’ємний y_scale без увімкненого потрійного буферування.

Коміти: 1dc4bea88, 7e52cf751

Контрольний список міграції

Для чистого переходу на v4.4.0 потрібно:

  1. На Nicla Vision — припинити використання lcd/tv; на Nano RP2040 Connect — перенести код WiFi на драйвер NINA-W10 (зміни модулів плати).

  2. Оновити код сокетів WINC1500 для очікування EWOULDBLOCK при тайм-ауті та увімкнути потрійне буферування для вертикально перевернутого виводу LCD (поведінкові зміни).