v4.2.2¶
v4.2.2 додає підтримку зображень PNG (декодування/кодування через lodepng), завантажувач вбудованих моделей на основі таблиць, підтримку Portenta OV5640, оновлення Edge Impulse TensorFlow та ulab 4.0. API конфігурації RPC CAN змінено — прочитайте список критичних змін нижче.
Основні зміни¶
Підтримка PNG —
Image.to_png(),image.PNGта читання/запис PNG-файлів.tf.load_builtin_model()— вбудовані моделі на основі таблиць, які можна замінити або додати під час збірки.Portenta H7 — підтримка камери OV5640 (з автофокусом).
MicroPython/ulab — ulab оновлено до версії 4.0.0.
Критично: API конфігурації RPC CAN змінено — дивіться список критичних змін.
Нові функції¶
Формат зображення PNG — новий метод
Image.to_png(), константаimage.PNG/PIXFORMAT_PNG, завантаження/збереження PNG-файлів (читання/запис.png) та виведення PNG у перетворенняхimage.to()за допомогою вбудованого кодека lodepng.tf.load_builtin_model(path)— завантажує вбудовану в мікропрограму модель (МН) і повертає кортеж(labels, net); вбудовані моделі тепер визначаються через таблицю, тому їх можна замінити або додати під час збірки.
Інші зміни та покращення¶
TensorFlow / Edge Impulse — пакетна бібліотека інференсу оновлена до Edge Impulse ei-V2.5.0, модель
person_detectionперенесена до таблиці вбудованих моделей, а відсутні оператори TensorFlow додані для всіх збірок Cortex-M0+/M4/M7/M55 — тепер більше моделей Edge Impulse запускаються успішно.ulab оновлено до 4.0.0.
Відкриття віртуального послідовного порту USB на швидкості 1200 бод тепер ініціює скидання у стилі Arduino до завантажувача.
Мікропрограма модуля WiFi WINC1500 оновлена до версії 19.7.6 (за допомогою скрипту оновлення), тепер він також повідомляє реальну версію хост-драйвера.
Порт RP2 виводить «MPY: soft reboot» та отримав підтримку ініціалізації/деініціалізації UART.
Виправлення помилок¶
Виправлено розмір кадрового буфера Arduino Nano RP2040 Connect та ідентифікатор USB-продукту Arduino Nicla Vision (правильне перерахування USB).
Апаратне забезпечення та підтримка плат¶
Arduino Portenta H7 — підтримка камери OV5640 (з автофокусом); GC2145 відключено на Portenta.
Arduino Nano RP2040 Connect — конфігурація пам’яті та шаблони свіжої файлової системи.
WiFi Shield (WINC1500) — мікропрограму оновлено до версії 19.7.6.
Критичні зміни API¶
Зміни API, помітні користувачу, між v4.2.1 та v4.2.2. Область застосування: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.
Кожна зміна позначена за впливом:
незначний — вузький API; стосується лише скриптів, які його використовували.
поведінковий — той самий API, інші результати; перевірте налаштовані скрипти.
Зміни згруповані за рівнем впливу у вказаному порядку. Кожен хеш коміту веде до diff на GitHub.
API конфігурації RPC CAN (незначний)¶
У бібліотеці rpc аргумент-ключове слово CAN sampling_point для rpc_can_master / rpc_can_slave перейменовано на sample_point (для відповідності upstream MicroPython), а ручний помічник розрахунку тактування CAN видалено — шина CAN тепер налаштовується через CAN(..., baudrate=, sample_point=). Скрипти, які передавали sampling_point або покладалися на старий розрахунок тактування, потрібно оновити.
image.format() та стиснені зображення (поведінковий)¶
Завдяки уніфікованому шляху обробки стиснених зображень, доданому для PNG, image.format() тепер повертає PIXFORMAT_INVALID для невідомого формату, а індексування/ітерація/виведення стиснених зображень тепер охоплює PNG разом із JPEG. Код, який перевіряв попереднє значення для невідомих форматів, слід перевірити.
Коміт: f12a4659c
Контрольний список міграції¶
Для чистого перенесення на v4.2.2: перейменуйте sampling_point → sample_point у RPC CAN і видаліть будь-яке ручне налаштування тактування CAN (зміна RPC CAN), а також перевірте будь-який код, що перевіряв image.format() для невідомих форматів (зміна format()).