v3.1.0

В v3.1.0 представлены модуль термопары fir (MLX90620 / MLX90640 / AMG8833), отладка и обнаружение в IDE по WiFi через WINC1500, прошивка UVC-веб-камеры, sensor.shutdown(), image.selective_search(), а также модули uctypes и pyb.CAN. Некоторые методы image были убраны на OpenMV Cam M4 — см. описание несовместимых изменений ниже.

Основное

  • Модуль fir — поддержка тепловой камеры на термопарах MLX90620 / MLX90640 / AMG8833.

  • WiFi IDE — отладка и программирование по WiFi (WINC1500) с обнаружением через широковещательную рассылку UDP (жёстко заданный IP не нужен).

  • UVC-веб-камера — прошивка USB Video Class для использования камеры как веб-камеры.

  • Новые APIsensor.shutdown(), image.selective_search(), а также модули uctypes / pyb.CAN.

  • Несовместимое изменение: image.mean() и image.morph() больше недоступны на OpenMV Cam M4 — см. несовместимые изменения.

Новые возможности

  • fir — добавлен модуль термопары с поддержкой MLX90620 / MLX90640 / AMG8833: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir() и константы FIR_MLX90640 / FIR_AMG8833 с примерами для Thermopile-Shield по каждому датчику.

  • WiFi IDE — программирование/отладка по WiFi через WINC1500 с обнаружением через широковещательную рассылку UDP, чтобы OpenMV IDE могла автоматически находить камеры (прошивка читает настройки STA/AP из IDE).

  • UVC-веб-камера — добавлена прошивка веб-камеры USB Video Class.

  • sensor.shutdown() — отключение питания камеры через вывод PWDN.

  • image.selective_search() — прямоугольники предложений областей, с примером selective_search.py.

  • Модули — включён модуль uctypes, повторно включён pyb.CAN и включены дополнительные модули MicroPython; добавлены пример USB-HID и функция проверки подключения IDE.

Прочие изменения и улучшения

  • Добавлен буфер приёма для каждого сокета для более надёжного recv сокета WiFi; математические методы image (top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend) теперь управляются флагом сборки IMLIB_ENABLE_MATH_OPS (включён по умолчанию в стандартной прошивке).

Исправления ошибок

Обработка изображений и камера:

  • Исправлено незакрытие файла функцией image.save() после записи сырых изображений (усечённые/повреждённые сохранения) и конфигурация GPIO SPI для FLIR Lepton.

Система и связь:

  • Обойдена ошибка флага BUSY SPI на STM32F7 (errata 2.11.2), исправлены интервал широковещательной рассылки / очистка сокета / таймер отладки для WiFi IDE-debug, разбор целых чисел в openmv.ini и задержка флеш-памяти на H7.

Поддержка оборудования и плат

  • Датчики термопар (FIR) MLX90620 / MLX90640 / AMG8833.

  • UVC-веб-камера — прошивка USB Video Class.

  • WINC1500 — отладка и обнаружение в IDE по WiFi.

Несовместимые изменения API

Видимые пользователю несовместимые изменения API между v3.0.0 и v3.1.0. Область охвата: C-модули Python в modules/ и библиотеки Python в scripts/libraries/.

Несовместимые изменения относятся к типу behavior и ограничены OpenMV Cam M4 — перепроверьте затронутые скрипты. Каждый хеш коммита ведёт на его diff на GitHub.

image.mean() / image.morph() удалены на OpenMV Cam M4 (behavior)

Чтобы уместиться во флеш-память/ОЗУ OpenMV Cam M4 (OMV2), image.mean() и image.morph() были исключены из сборки на этой плате; их вызов теперь вызывает ошибку «недоступно». Используйте другой фильтр (например, image.median() / image.midpoint()) или выполняйте морфологию / усредняющую фильтрацию на более новой камере (M7 / H7). Другие платы не затронуты.

Коммиты: abe97a73b, 4e34b32ec

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

На OpenMV Cam M4 замените image.mean() / image.morph() другим фильтром или перенесите эту обработку на камеру M7 / H7 (удаление методов на M4). Все остальные скрипты работают без изменений.