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 с одномерным входом и одномерным выходом.Поддержка тепловизионного датчика 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 с одномерным входом и выходом, возвращающая список выходных значений с плавающей точкой.Управление GC2145 —
sensor.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, привязка выводов LPUART на H7 и регистрация модуля
nnдля STM32Cube.AI.
Arduino Nicla Vision:
MicroSpeech теперь работает (удвоен буфер PDM, добавлен пример), и исправлен режим низкого энергопотребления (standby).
Поддержка оборудования и плат¶
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, другие результаты; перепроверьте настроенные скрипты.
Изменения сгруппированы по влиянию в этом порядке. Если вы просто хотите перенести свой код, перейдите к контрольному списку миграции в конце. Каждый хеш коммита ведёт на его diff на 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 которого отличается.
Тайм-аут сокета WiFi и вертикальное отражение LCD (behavior)¶
Тайм-аут сокета WINC1500 теперь возвращает неблокирующую ошибку (EWOULDBLOCK) вместо ETIMEDOUT, поэтому сокеты с истёкшим тайм-аутом больше не закрываются неожиданно — код, перехватывавший ETIMEDOUT, нужно обновить. SPI LCD shield display теперь вызывает ValueError («Vertical flip requires triple buffering!»), когда запрашивается отрицательный y_scale без включённой тройной буферизации.
Контрольный список миграции¶
Для чистого переноса на v4.4.0 обычно требуется:
На Nicla Vision перестать использовать
lcd/tv; на Nano RP2040 Connect перенести код WiFi на основной драйвер NINA-W10 (изменения модулей платы).Обновить код сокетов WINC1500 так, чтобы он ожидал
EWOULDBLOCKпри тайм-ауте, и включить тройную буферизацию для вертикально отражённого вывода LCD (изменения поведения).