v4.3.0

v4.3.0 додає апаратно-прискорене декодування JPEG, режим високих температур FLIR Lepton та автоматичне визначення моделі, нові перетворення кольорового простору JPEG та MicroPython 1.18, а також набір виправлень RTC і WiFi. API режиму вимірювання Lepton змінено — прочитайте список критичних змін нижче.

Основні зміни

  • Апаратне декодування JPEG на STM32 (H7) — швидша декомпресія JPEG.

  • Режим високих температур FLIR Lepton (до ~600 °C на Lepton 3.5) та автоматичне визначення моделі (1.5–3.5).

  • Нові перетворення JPEG — декодування YCbCr JPEG у відтінки сірого та JPEG у відтінках сірого в RGB565.

  • MicroPython оновлено до 1.18.

  • Критично: ioctl режиму вимірювання Lepton змінено — дивіться список критичних змін.

Нові функції

  • Апаратно-прискорене декодування JPEG — вбудований кодек JPEG STM32 тепер використовується для декомпресії.

  • Перетворення кольорового простору JPEG — декодер може декодувати YCbCr JPEG у GRAYSCALE та GRAYSCALE JPEG у RGB565.

  • Режим високих температур Lepton — новий режим вимірювання high_temp використовує низьке підсилення для розширення діапазону приблизно до 600 °C на Lepton 3.5.

  • Arduino Nano RP2040 Connect — модулі драйверів onewire, dht та neopixel тепер вморожені у мікропрограму.

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

  • MicroPython оновлено до 1.18.

  • Драйвер FLIR Lepton тепер визначає та повідомляє конкретну модель Lepton (1.5 / 1.6 / 2.0 / 2.5 / 3.0 / 3.5) до IDE.

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

Обробка зображень:

  • Image.to_grayscale() / перетворення L-каналу більше не повертає від’ємні значення L для темних пікселів RGB565; декодер JPEG більше не зависає (MemManage) на зображеннях з непарними розмірами.

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

  • Виправлено коефіцієнти субдискретизації вікна GC2145 та порядок пікселів Bayer для правильної якості зображення при роздільних здатностях нижче QVGA та в режимі BAYER.

Мережа та зберігання даних:

  • Виправлено обробку тайм-ауту неблокуючого сокету WINC1500 та додано правильне відображення errno MicroPython для помилок сокетів; виправлено обробку файлів USB-диска STM32 OpenMV.

Годинник реального часу:

  • Виправлено вибір джерела тактового сигналу RTC / LSE проти LSI та помилки генератора LSE для плат OpenMV Cam H7 Plus та Pure Thermal.

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

  • STM32 (H7) — апаратне декодування JPEG.

  • OpenMV Cam H7 Plus / Pure Thermal — виправлення джерела тактового сигналу RTC.

  • Arduino Nano RP2040 Connect — вморожені драйвери onewire / dht / neopixel.

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

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

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

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

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

Обидві критичні зміни стосуються лише теплового датчика FLIR Lepton. Кожен хеш коміту веде до diff на GitHub.

ioctl режиму вимірювання Lepton (незначний)

sensor.ioctl(SET_MEASUREMENT_MODE, ...) приймає новий необов’язковий аргумент high_temp, а GET_MEASUREMENT_MODE тепер повертає 2-кортеж (enabled, high_temp) замість одного булевого значення. Код, що зчитував попереднє булеве значення, потрібно оновити для розпакування кортежу.

Коміт: 6b2cd1008

Діапазон температур Lepton за замовчуванням (поведінковий)

Діапазон температур FLIR Lepton за замовчуванням змінився з −17.78 °C…37.78 °C на −10.0 °C…40.0 °C. Колірне відображення та звітовані температури для сцен, що покладалися на старий діапазон за замовчуванням, відрізнятимуться — встановіть явний діапазон, якщо вам потрібна попередня поведінка.

Коміт: bc07e0131

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

Стосуються лише скрипти FLIR Lepton: розпакуйте новий кортеж GET_MEASUREMENT_MODE (enabled, high_temp) (зміна режиму вимірювання) та встановіть явний діапазон температур, якщо ви покладалися на старий діапазон за замовчуванням (зміна діапазону за замовчуванням). Усі інші скрипти працюють без змін.