v3.6.8

v3.6.8 додає підтримку плати OpenMV Cam Pure Thermal, прискорює інференс tf приблизно у 4 рази завдяки переходу TensorFlow на CMSIS-NN, розширює настільну бібліотеку rpc інтерфейсами UART / Kvaser CAN / I2C / SPI та вмикає SD-карту на Arduino Portenta H7. Обробка розділів SD-карти та import sensor на платах без датчика змінились — ознайомтесь із несумісними змінами нижче.

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

  • OpenMV Cam Pure Thermal — підтримка нової плати.

  • TensorFlow приблизно у ~4 рази швидше — інференс tf тепер виконується на CMSIS-NN.

  • Бібліотека rpc — додано інтерфейси UART, Kvaser CAN та ведучий/підлеглий I2C/SPI.

  • SD-карта Portenta H7 — увімкнено підтримку SD-карти з виправленнями тактових сигналів PLL1/HSE/ADC.

  • Несумісні зміни: автовизначення розділу при завантаженні з SD-карти та import sensor тепер видає виняток, якщо датчик зображення відсутній — перегляньте несумісні зміни.

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

  • rpc — додано інтерфейси UART, Kvaser CAN та ведучий/підлеглий I2C/SPI до настільної бібліотеки RPC (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave, та ведучий/підлеглий I2C/SPI).

  • Плати без датчика — мікропрограма тепер підтримує плати без датчика зображення (що вмикає підтримку Pure Thermal).

  • Геометрія JPEG — додано структуру налаштувань читання JPEG (jpg_w / jpg_h / jpg_size) для зчитування геометрії JPEG.

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

  • TensorFlow переведено на CMSIS-NN для приблизно 4-кратного прискорення інференсу tf (налаштування imlib config скориговано для кожної плати); приклад ulab використовує ulab.numerical.mean / std; приклад глибокого сну тепер викликає sensor.sleep(True) перед записом до регістру обходу регулятора OV7725.

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

Камера та обробка зображень:

  • Виправлено завантаження зображень JPEG з диска (геометрія JPEG відхилялась як непідтримуваний формат), sensor.reset() тепер виконує апаратне скидання для відновлення датчика після вимкнення регулятора, виправлено конфігурацію альтернативних функцій SPI / тактових сигналів FLIR Lepton на OpenMV 4 / 4 Plus та призначення виводу FSYNC на OpenMV 4 / 4 Plus.

Підключення та система:

  • Виправлено тактований запис pyb.DAC на H7, WLAN.start_ap() WINC1500 тепер не вимагає ключа для відкритого захисту (OPEN security), виправлено спільне використання шини I2C між камерою та периферійними пристроями користувача на Portenta, маркер кадрового буфера SWD самотестування тепер задається окремо для кожної плати, щоб більше не затирати bpp кадрового буфера на платах без нього.

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

  • OpenMV Cam Pure Thermal — нова плата.

  • Arduino Portenta H7 — увімкнено SD-карту з виправленнями PLL1 (400 МГц/40 МГц, USB/RNG на HSI48), HSE (25 МГц) та джерела тактового сигналу ADC.

Несумісні зміни API

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

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

Автовизначення розділу SD-карти (поведінка)

Завантаження з SD-карти тепер автоматично визначає розділ замість завжди монтувати розділ 1. Карти, що покладались на стару поведінку фіксованого розділу 1, тепер можуть монтувати іншу файлову систему; перевірте SD-карти з кількома розділами та очікуване монтування.

Коміти: 1f7f003b8

import sensor видає виняток на платах без датчика (поведінка)

Для підтримки плат без датчика зображення перевірка ініціалізації модуля sensor тепер виконується під час імпорту, тому import sensor видає RuntimeError, якщо датчик зображення не виявлено (замість помилки пізніше). На платі лише з тепловізором захистіть import sensor конструкцією try / except або уникайте його імпорту.

Коміти: 17b444ad1

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

Перевірте SD-карти з кількома розділами з новим автовизначенням розділу (зміна SD-карти) та захистіть import sensor на платах без датчика / лише з тепловізором (зміна імпорту sensor). Всі інші скрипти працюють без змін.