v1.7.0

v1.7.0 вводить модуль cpufreq (керування частотою CPU / оверклокінг), модуль MicroPython os, керування частотою оновлення та роздільною здатністю MLX-теплового датчика, а також початкову підтримку плати OpenMV Cam M7 (STM32F7). Сигнатура fir.init(), обробка кадрів, що перевищують максимальний розмір, та стандартна якість JPEG змінилися — прочитайте розділ про критичні зміни нижче.

Основне

  • Модуль cpufreq — отримання / встановлення частоти CPU з прикладом оверклокінгу.

  • Модуль os — тепер доступний модуль MicroPython os.

  • Тепловий датчик MLXfir.init() приймає частоту оновлення та роздільну здатність АЦП.

  • OpenMV Cam M7 — початкова підтримка плати STM32F7.

  • Критично: fir.init() тепер використовує лише іменовані аргументи, надмірні кадри автоматично обрізаються, а стандартна якість JPEG знижена — перегляньте критичні зміни.

Нові можливості

  • cpufreq — додано модуль cpufreq з cpufreq.get_frequency() / cpufreq.set_frequency() і константами CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, а також приклад overclocking.py.

  • os — увімкнено модуль MicroPython os.

  • MLX / FIRfir.init() тепер приймає частоту оновлення та роздільну здатність АЦП, з відповідними параметрами refresh / resolution для теплового датчика MLX.

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

  • Налаштовано область AGC/AEC OV7725 (менше розмиття руху), увімкнено тверду кольорову смугу DSP для OV7725 та виправлено потокову передачу кадрового буфера IDE (без застарілих / дублюючих кадрів).

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

  • Виправлено переповнення розміру передачі DCMI/DMA в sensor.snapshot(), вдосконалено обробку переповнення буфера JPEG-стиснення, покращено робочу область AEC/AGC OV7725 для кращої автоматичної витримки/підсилення, а також виправлено скрипти тестової смуги / самодіагностики для OV7725.

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

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — початкова підтримка плати та завантажувача.

  • OpenMV 2 — тактовий сигнал датчика від виходу MCO.

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

Видимі для користувача зміни API між v1.6.0 і v1.7.0. Область: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.

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

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

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

Зміни згруповані за рівнем впливу в такому порядку. Щоб просто перенести свій код, перейдіть до контрольного списку міграції в кінці. Кожен хеш коміту веде до його diff на GitHub.

fir.init() тепер використовує лише іменовані аргументи (незначна)

fir.init() переписано з підтримкою іменованих аргументів (type= / refresh= / resolution=, стандартне refresh 64 Гц, максимум 512 Гц) замість позиційних аргументів. Оновіть позиційні виклики fir.init(...) до форми з іменованими аргументами.

Коміти: 958c5b7f7

Надмірні кадри автоматично обрізаються до QVGA (поведінка)

sensor.snapshot() більше не генерує виняток, якщо розмір сирого кадру перевищує максимально допустимий для плати — надмірні сирі кадри тепер обрізаються/кадруються до QVGA (відхиляється лише сирий у режимі JPEG). Виберіть підтримуваний розмір кадру, якщо ви покладалися на попередню помилку.

Коміти: b655a5488, abace9e4f

Максимальний розмір кадру OpenMV 2 знижено до QVGA (поведінка)

На OpenMV 2 максимальний розмір кадру для інтегрального зображення / сирого / плям знижено з VGA до QVGA. Запит VGA для операцій у відтінках сірого / RGB565 / плям / інтегрального зображення на OpenMV 2 тепер обрізається до QVGA — переробіть скрипти, що залежали від обробки VGA на цій платі.

Коміти: 7499062bd

Стандартну якість JPEG знижено (поведінка)

Стандартну якість JPEG знижено (з 50 до 35 за замовчуванням, з нижчими порогами субдискретизації IDE) для надійнішої потокової передачі. Захоплені/передані зображення JPEG матимуть помітно нижчу якість за замовчуванням — передайте явний параметр quality до image.compress(), якщо потрібна попередня якість.

Коміти: d9c8b1535

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

Для чистого переходу на v1.7.0 зазвичай потрібно:

  1. Перетворити позиційні виклики fir.init(...) на форму з іменованими аргументами (зміна fir.init).

  2. Використовувати підтримуваний розмір кадру замість покладання на попередню помилку надмірного кадру (зміна надмірного кадру), а також переробити обробку VGA на OpenMV 2 (зміна розміру кадру OpenMV 2).

  3. Передати явний параметр quality до image.compress(), якщо потрібна попередня якість JPEG (зміна якості JPEG).

Усі інші скрипти працюють без змін.