v1.7.0¶
v1.7.0 вводить модуль cpufreq (керування частотою CPU / оверклокінг), модуль MicroPython os, керування частотою оновлення та роздільною здатністю MLX-теплового датчика, а також початкову підтримку плати OpenMV Cam M7 (STM32F7). Сигнатура fir.init(), обробка кадрів, що перевищують максимальний розмір, та стандартна якість JPEG змінилися — прочитайте розділ про критичні зміни нижче.
Основне¶
Модуль
cpufreq— отримання / встановлення частоти CPU з прикладом оверклокінгу.Тепловий датчик MLX —
fir.init()приймає частоту оновлення та роздільну здатність АЦП.OpenMV Cam M7 — початкова підтримка плати STM32F7.
Критично:
fir.init()тепер використовує лише іменовані аргументи, надмірні кадри автоматично обрізаються, а стандартна якість JPEG знижена — перегляньте критичні зміни.
Нові можливості¶
cpufreq— додано модульcpufreqзcpufreq.get_frequency()/cpufreq.set_frequency()і константамиCPUFREQ_120MHZ/144/168/192/216MHZ, а також прикладoverclocking.py.MLX / FIR —
fir.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). Виберіть підтримуваний розмір кадру, якщо ви покладалися на попередню помилку.
Максимальний розмір кадру 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 зазвичай потрібно:
Перетворити позиційні виклики
fir.init(...)на форму з іменованими аргументами (зміна fir.init).Використовувати підтримуваний розмір кадру замість покладання на попередню помилку надмірного кадру (зміна надмірного кадру), а також переробити обробку VGA на OpenMV 2 (зміна розміру кадру OpenMV 2).
Передати явний параметр
qualityдоimage.compress(), якщо потрібна попередня якість JPEG (зміна якості JPEG).
Усі інші скрипти працюють без змін.