v4.4.2#
v4.4.2 добавляет реверс байтов для SPI-LCD и переопределение тактовой частоты MT9V0xx, более надёжное выполнение скриптов и обработку WiFi-сокетов, а также исправляет заметную ошибку с copy= в изображениях. Порядок аргументов JPEG-сжатия и выбор тактовой частоты камеры изменились — ознакомьтесь с критическими изменениями ниже.
Основные изменения#
Реверс байтов для SPI LCD и переопределение внешней тактовой частоты MT9V0xx.
Более надёжное выполнение скриптов и обработка исключений, а также исправления WiFi-сокетов.
Исправлена ошибка
copy=вimage, которая изменяла исходный объект.Критическое изменение: изменились порядок позиционных аргументов JPEG-сжатия и выбор тактовой частоты камеры — см. критические изменения.
Новые возможности#
Реверс байтов для SPI LCD — путь SPI LCD на STM32 получил поддержку реверса байтов.
Переопределение тактовой частоты MT9V0xx — внешнюю тактовую частоту MT9V0xx теперь можно переопределить (Portenta переопределяет тактовую частоту своего датчика MT по умолчанию).
Прочие изменения и улучшения#
Выполнение скриптов и обработка исключений стали более надёжными на портах nRF, RP2 и STM32.
Оптимизирована загрузка патча датчика MT9M114 (более быстрая инициализация).
Исправления ошибок#
Обработка изображений:
Исправлена ошибка аргумента
copy=в операцииimage, при которой вместо копии изменялся исходный объект.
Камера и датчики:
Добавлено управление считыванием датчика на Nicla Vision и исправлена ориентация его изображения.
Сеть и USB:
WINC1500 теперь держит слушающий сокет открытым при тайм-ауте accept и корректно очищает NIC при закрытии сокетов; исправлена библиотека RTSP.
Аудиомодуль теперь использует статические узлы планировщика для более надёжного планирования функций обратного вызова; USB-отладчик отключается перед возбуждением исключений, что повышает стабильность подключения к IDE при ошибках скрипта.
Поддержка оборудования и плат#
Arduino Nicla Vision — управление считыванием датчика и исправленная ориентация изображения.
Arduino Portenta — переопределяет тактовую частоту своего датчика MT по умолчанию.
Критические изменения API#
Видимые пользователю изменения API между v4.4.1 и v4.4.2. Область: C-модули Python в modules/ и библиотеки Python в scripts/libraries/.
Оба критических изменения являются изменениями behavior (тот же API, другие результаты) — перепроверьте настроенные скрипты. Каждый хеш коммита ведёт на его diff на GitHub.
Порядок аргументов JPEG-сжатия (behavior)#
Обработка позиционных аргументов для семейства JPEG-сжатия (compress() / compressed() / JPEG save()) была исправлена так, что quality стал первым позиционным аргументом со значением по умолчанию 90. Скрипты, передававшие аргументы сжатия позиционно в прежнем (неверном) порядке, нужно обновить.
Коммит: 509b094a5
Выбор тактовой частоты камеры (behavior)#
Выбор внешней тактовой частоты камеры на STM32 теперь подбирает ближайшую доступную частоту ниже запрошенного значения вместо ошибки или превышения. Фактическая частота пикселей для данного запроса может отличаться от предыдущих выпусков — перепроверьте захваты, чувствительные к таймингу.
Коммит: 39ba1a7f5
Контрольный список миграции#
Для чистого переноса на v4.4.2: передавайте JPEG quality как первый позиционный аргумент (или как именованный) (изменение аргументов JPEG) и перепроверьте любые чувствительные к таймингу настройки тактовой частоты камеры (изменение выбора частоты).