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 тепер зберігає відкритим слухаючий сокет при тайм-ауті прийняття з’єднання та правильно очищує NIC при закритті сокетів; виправлено бібліотеку RTSP.

  • Аудіомодуль тепер використовує статичні вузли планувальника для надійнішого планування зворотних викликів; налагоджувач USB вимикається перед генерацією винятків, що покращує стабільність з’єднання IDE при помилках скрипту.

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

  • Arduino Nicla Vision — керування зчитуванням датчика та виправлена орієнтація зображення.

  • Arduino Portenta — перевизначення стандартної тактової частоти MT-датчика.

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

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

Обидві критичні зміни є поведінковими (той самий API, різні результати) — перевірте налаштовані скрипти. Кожен хеш коміту є посиланням на різницю на GitHub.

Порядок аргументів стиснення JPEG (behavior)

Обробку позиційних аргументів для сімейства функцій стиснення JPEG (compress() / compressed() / JPEG save()) виправлено так, що quality є першим позиційним аргументом зі значенням за замовчуванням 90. Скрипти, що передавали аргументи стиснення позиційно відповідно до попереднього (некоректного) порядку, потрібно оновити.

Коміт: 509b094a5

Вибір тактової частоти камери (behavior)

Вибір зовнішньої тактової частоти камери STM32 тепер вибирає найближчу доступну частоту нижче запрошеного значення замість збою або перевищення. Фактична тактова частота пікселів для певного запиту може відрізнятися від попередніх версій — перевірте зйомки, чутливі до часових параметрів.

Коміт: 39ba1a7f5

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

Для чистого переходу на v4.4.2: передавайте quality JPEG як перший позиційний аргумент (або як іменований) (зміна аргументу JPEG), та перевірте будь-які налаштування тактової частоти камери, чутливі до часових параметрів (зміна вибору тактової частоти).