v2.8.1

Версия v2.8.1 приносит в OpenMV IDE полную поддержку плат Arduino, добавляя загрузку прошивки для плат Arduino Nano RP2040 Connect и Nano 33 BLE наряду с редактором с вкладками и миникартой кода. Релиз остаётся на базе Qt Creator 4.0.2 и включает новую прошивку OpenMV 4.1.0. Есть изменения, нарушающие совместимость: автоматический отступ теперь по умолчанию отключён, а объединённые образы прошивки openmv.bin / openmv.dfu были убраны для плат OPENMV2/3/4/4P, OPENMVPT и PORTENTA, что является изменением рабочего процесса и поведения для всех, кто полагался на эти настройки или имена файлов по умолчанию.

Основные изменения

  • Загрузка прошивки плат Arduino для Nano RP2040 Connect и Nano 33 BLE, программируемых через новые встроенные инструментальные цепочки bossac (SAM-BA) и picotool/elf2uf2/rp2040load.

  • Редактор с вкладками, благодаря которому открытые файлы отображаются как переключаемые вкладки в верхней части редактора, с горячими клавишами для переключения и изменения порядка вкладок.

  • Полоса прокрутки с миникартой кода, отображающая миниатюрный обзор документа, со страницей настроек Text Editor для её включения и задания ширины.

  • Новые примеры для Arduino и Portenta, включая полный набор примеров для Nano RP2040 Connect и десять WiFi-скриптов для Portenta-H7.

  • Встроенная прошивка обновлена до 4.1.0 для всех камер OpenMV и образов Arduino Nano 33 / Nano RP2040.

  • Драйверы USB для Windows для Arduino Nano RP2040 Connect и Portenta H7 теперь устанавливаются инсталлятором.

Новые возможности

  • Поддержка плат Arduino: добавлена полная поддержка загрузки прошивки для плат Arduino Nano RP2040 Connect и Nano 33 BLE, программирующая их через встроенные инструментальные цепочки bossac (SAM-BA) и picotool/elf2uf2/rp2040load, управляемые новыми дескрипторами bossac.txt/boards.txt (плюс существующий picotool.txt) (deccee676, 34e0c0ee1, ef5334782, eb9c00a33).

  • Редактор с вкладками: добавлен плагин панели вкладок редактора, благодаря которому открытые файлы отображаются как переключаемые вкладки в верхней части редактора, с горячими клавишами для предыдущей/следующей вкладки (Ctrl+Page Down / Ctrl+Page Up) (325cd8d87, 5501a4082).

  • Миникарта кода: добавлен плагин полосы прокрутки с миникартой кода со страницей настроек Text Editor (переключатель включения, ширина, порог количества строк и прозрачность ползунка полосы прокрутки), который отображает миниатюрный обзор документа в полосе прокрутки (325cd8d87).

  • Примеры WiFi для Portenta-H7: добавлено десять примеров WiFi-скриптов (connect, scan, статический IP, DNS, NTP, HTTP-клиент, HTTP-SSL-клиент, MJPEG-стример, публикация/подписка MQTT) (b2133f9f5).

Прочие изменения и улучшения

  • Изменение порядка вкладок: добавлены горячие клавиши для перемещения текущей вкладки влево или вправо (Ctrl+Shift+Page Down / Ctrl+Shift+Page Up) и отключены конфликтующие стандартные привязки редактора Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down, чтобы горячие клавиши панели вкладок работали (5501a4082).

  • Примеры Nano RP2040 Connect: включён полный набор примеров скриптов на Python, охватывающих основы, датчик IMU, BLE, WiFi, аудио-FFT и тепловизионную камеру (91847b183).

  • Подсказки при подключении Arduino: добавлены два новых диалога процесса подключения: подсказка восстановления, предписывающая пользователям замкнуть REC на GND и сбросить плату при обнаружении старого USB PID Arduino RP2040, и информационное уведомление о том, что у Nano 33 BLE нет встроенного диска флеш-памяти для данных, при запросе очистки файловой системы во флеш-памяти (91847b183).

  • Дополнительные примеры для Arduino и Portenta: добавлены новые примеры на Python для Arduino Nano 33 BLE Sense (blinky), измерения температуры через BLE на Portenta H7, улучшенное управление PWM на Portenta H7, обновлённый скрипт Ethernet peer-to-peer для Portenta H7 и обновлённый пример фильтра ulab (45a4564f4), а также пример проверки кабеля Ethernet для Portenta H7 (af1b2fcff).

  • Пример OpenMV WiFi-Shield: добавлен новый пример HTTP POST http_post.py в каталоге 14-WiFi-Shield (c73d9fdcf).

  • Тайм-ауты чтения WiFi: тайм-ауты чтения разделены, чтобы WiFi-соединения получали более длительный тайм-аут простоя (3000 мс против 1000 мс для последовательного порта) и повторно передавали ожидающую команду после простоя WiFi вместо сбоя (81f00ac58).

  • Упрощённый интерфейс редактора: скрыты кнопки разделения и закрытия разделения на панели инструментов редактора и принудительно включено автомасштабирование high-DPI в Linux для сохранения единообразной компоновки редактора (bc14a2290).

  • Офлайн-документация: обновлена встроенная офлайн-документация, добавлены изображения распиновки камеры для каждого датчика (H7 OV7725, H7 Plus OV5640, варианты M4/M7) и обновлены обзорная и учебные страницы IDE (97ff73ebd).

Исправления ошибок

  • Исправлено смещение очистки флеш-памяти RP2040 (PICO), используемое при программировании прошивки, чтобы стирался правильный регион флеш-памяти (91847b183).

  • Встроенные бинарники bossac и picotool для Linux/macOS сделаны исполняемыми, чтобы загрузка прошивки работала на этих платформах, а рендерер миникарты защищён, чтобы запускаться только на Qt >= 5.6 (76613152f).

  • Исправлен запрос на обновление прошивки, чтобы он учитывал свои кнопки диалога (проверяя QDialog::Accepted), и обработка простоя при последовательной/TCP-передаче теперь перезапускает свои таймеры при поступлении новых данных, благодаря чему длительные передачи больше не завершаются ложным тайм-аутом (dd4ce12a5).

Поддержка платформ и инструментов

  • База Qt Creator: 4.0.2.

  • Встроенная прошивка: встроенная прошивка OpenMV обновлена до релиза 4.1.0 (firmware.txt: 4.0.2 -> 4.1.0) (b78603045); ранее в цикле тот же файл проходил через промежуточные сборки 4.0.1 и 4.0.2 (beec4d25b, eb9c00a33).

  • Новые инструментальные цепочки прошивки: включены bossac и инструментальная цепочка picotool/elf2uf2/rp2040load для всех платформ (windows/osx/linux32/linux64/arm/aarch64).

  • Драйверы USB для Windows: добавлена установка подписанных драйверов для плат Arduino Nano RP2040 Connect и Portenta H7, запускаемая через инсталлятор (bc14a2290, a8ae96e1b).

  • Распознаны новые датчики: добавлен датчик изображения PAJ6100 (914546e78) и камеры GC2145 (0x21) и MT9M114 в встроенную таблицу датчиков share/qtcreator/firmware/sensors.txt (9a8b1c762); идентификатор MT9M114 первоначально был 0x81, а позже исправлен на 0x2481 (eb9c00a33).

Изменения, нарушающие совместимость

Заметные пользователю изменения рабочего процесса и поведения в этом релизе.

  • Автоматический отступ теперь по умолчанию отключён. Значение авто-отступа редактора по умолчанию переключено на «выкл» (и принудительно отключается при загрузке), а клавиша табуляции больше не делает отступ; элементы управления Auto indent и Tab key performs auto-indent были удалены со страницы настроек Text Editor > Behavior, поэтому при наборе текста новые строки больше не получают автоматический отступ, если это не изменено в прошивке/исходном коде (bc14a2290).

  • Объединённые образы прошивки openmv.bin / openmv.dfu (только openmv.bin для OPENMVPT, у которого никогда не было openmv.dfu) были удалены для плат OPENMV2/3/4/4P, OPENMVPT и PORTENTA; остались только отдельные образы bootloader/firmware/uvc (84cd4cd2d).

  • Примеры vsync_gpio_output (в наборах примеров 02-Board-Control как для OpenMV, так и для Arduino/Portenta-H7) теперь требуют нового API прошивки set_vsync_callback вместо set_vsync_output, и функция обратного вызова теперь переключает LED_BLUE, а не ИК-светодиод (f13453bdc).