v5.0.0#

v5.0.0 — крупный релиз. Он представляет OpenMV Viewer — отдельную сборку только для чтения, предназначенную для демонстрации готового продукта, — новый OpenMV Cam Settings Editor, протокол отладки камеры v2 для камер v5.0.0, а также большой набор улучшений для редактора, терминала, прошивки и рабочих процессов машинного зрения. Релиз построен на Qt Creator 14.0.2.

Переход к версии 5.0.0 знаменует появление поколения камер v5.0.0 и инструментов, которые его поддерживают; существующие проекты и рабочие процессы v4 продолжают работать без изменений.

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

  • OpenMV Viewer — новый, устанавливаемый отдельно вариант сборки, запускающий IDE как ограниченный просмотрщик телеметрии только для чтения. Он показывает буфер кадров камеры, последовательный терминал и гистограмму и может запускать фиксированный скрипт, но скрывает инструменты разработки, ИИ/моделей и настроек, чтобы клиент мог демонстрировать продукт, построенный на OpenMV, без полной среды разработки.

  • OpenMV Cam Settings Editor — графический редактор для файла конфигурации настроек, хранящегося на камере, позволяющий просматривать и изменять настройки платы через форму вместо ручного редактирования файла.

  • Протокол отладки камеры v2 — камеры v5.0.0 используют новый, более надёжный протокол отладки с проверкой CRC заголовка, восстановлением после пропусков в последовательности и раздельным отображением частоты кадров, которое сообщает FPS на камере и FPS отображения в IDE по отдельности.

  • Загрузка пользовательской прошивки из .zip — установщик прошивки теперь напрямую принимает выходной .zip-архив сборки платы, что упрощает прошивку пользовательского или локально собранного образа прошивки.

  • Отладочное журналирование протокола в последовательном терминале — переключатель в последовательном терминале журналирует протокол отладки камеры читаемыми строками с пометками-эмодзи для диагностики проблем с подключением.

  • Переработанное меню справки и документация в редакторе — подменю OpenMV Docs заменяет старые плоские ссылки, F1 открывает документацию для символа Python под курсором, наведение на имя API показывает его документацию прямо в редакторе, а диалог «О программе» был модернизирован.

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

  • Вариант сборки OpenMV Viewer. Сборка с принудительным режимом просмотрщика, оформленная и устанавливаемая как OpenMV Viewer, с собственным идентификатором исполняемого файла, хранилищем настроек и идентификатором пакета, поэтому она сосуществует с полной IDE. Она представлена как просмотрщик телеметрии только для чтения: Run/Stop и остановка при подключении работают и запускают скрипт с диска (через -auto_run), меню File/Edit и Preferences остаются, а восстановление прошивки/ROMFS сохраняется, тогда как инструменты разработки, инструменты машинного зрения для разработчиков, категории настроек для разработчиков и ресурсы ИИ/моделей/документации удалены из сборки и интерфейса. ROMFS становится доступной только для загрузки и перемещается в меню Tools, а диалоги завершения обновления прошивки сделаны обобщёнными (07722e78a8b, 5cd12ee260e, b97bf5447e4, 952b86de391, 1103f7988ed, f0f60261485, c743d5d67b9, b4bcdc2d71a, a37c032b6ff, 480e5668d29, 11c064cac93).

  • OpenMV Cam Settings Editor — графический редактор файла конфигурации настроек камеры, открываемый из меню Tools (задача #205) (f55a0d7fa58, 2d7f80b03cf).

  • Протокол отладки камеры v2 для камер v5.0.0, с проверкой CRC заголовка до того, как какое-либо поле заголовка будет принято на доверие, восстановлением после пропусков в последовательности, которое продвигается вперёд через потерянные пакеты вместо остановки, и показателем частоты кадров, разделённым на частоту на камере и частоту отображения в IDE (c377bdbaea8, a3f0488ddcb, 29108dd40f7, c15e6c02789).

  • Загрузка пользовательской прошивки принимает .zip-архив — выберите выходной zip-архив сборки платы, и IDE прошьёт содержащуюся в нём прошивку (и ROMFS) (55e4eb2d900).

  • Отладочное журналирование в последовательном терминале — кнопка переключает многоуровневое отладочное журналирование протокола камеры, где каждая строка помечена эмодзи и отрисована шрифтом эмодзи для удобочитаемости (09990c62810, 42e23c3c11e, 997705548c7, d2208de77d4).

  • Копирование/преобразование текущего скрипта — действие в меню Tools, которое копирует или преобразует текущий скрипт, с защитой от сохранения скомпилированных main.py/boot.py (81a954f33cd).

  • Справка по документации по F1 для символа Python под курсором, использующая тот же механизм разрешения символов, что и подсказки при наведении (c341330bc16).

  • Подсказки с документацией в редакторе — наведение на имя API OpenMV показывает его документацию прямо в редакторе, взятую из поставляемых заглушек .pyi и собственной документации модуля, поэтому вы можете узнать, что делает функция, метод, константа или модуль, не покидая свой скрипт (7ebde92d2a6, f225824ba13, 59ad01a364a, 02c1e61a2a6).

  • Именование камеры — локальный для IDE псевдоним, который вы можете присвоить подключённой камере, отображаемый вместо имени последовательного порта, чтобы можно было различать идентичные камеры (c600158ca34).

  • Страница сочетаний клавиш — страница сочетаний клавиш в Preferences теперь отображается и отфильтрована по действиям, которые вам действительно доступны, с более понятным указанием источника и раскладкой (4f5eae52e8e, 2d472fe5b40).

Улучшения редактора, терминала и интерфейса#

  • Меню справки реструктурировано в подменю OpenMV Docs (со снятием старых плоских ссылок на распиновку), с добавлением ссылок на примечания к выпуску в пути версий официальных релизов (e1337ff67c4, 9eacc0994e6).

  • Диалог «О программе» модернизирован — автоматический год авторских прав, таблица логотипов партнёров и однострочная ссылка на примечания к выпуску (d89fb74138d).

  • Панель Frame Buffer теперь показывает индикатор разрешения и метку режима буфера кадров рядом с фиксированной кнопкой JPG; метка режима сделана серой, чтобы не выглядела как нажимаемая (cb735f82337, 376b17d4e77, 39c6ffc3b26).

  • Графики панели гистограммы сглажены сплайнами, панель может сжиматься (скрывая метки и уменьшая графики), а метка канала располагается рядом со статистикой (327324ef7e9, 9f8c7035483, d204e93d5e4).

  • Связанные разделители панелей — перетаскивание разделителя с Ctrl/Cmd перемещает разделители редактор/терминал и буфер кадров/гистограмма вместе, а маркеры мини-разделителей получают ореол при наведении с более широкой областью захвата (379dee250d6, 96b83984342).

  • Последовательный терминал — автопрокрутка больше не привязывается заново при каждом блоке вывода, поэтому прокрутка вверх во время быстрого вывода остаётся на месте; терминал может запускать файл с диска, когда нет редактора (af67a076e95, bc132aef536).

  • Команды документации именуются по странице, а не по индексу (a3201e9a4b4).

  • Высокий DPI / дробное масштабирование — значки, наложения и заставка отрисовываются корректно при дробных коэффициентах масштабирования (125%, 150% и подобных), а главное окно запоминает свою геометрию и экран между перезапусками в многомониторных конфигурациях (c60711e4950, 60901b6e13f, f241d2ea8ce, 54a1bc31fbd).

Прошивка, платы и инструменты#

  • Плата может закрепить последнюю поставленную версию прошивки, поэтому плата, которая больше не получает новых прошивок, не помечается как устаревшая (bd987d32f42).

  • Текст статуса устаревшей прошивки теперь окрашен в красный цвет, чтобы выделяться (9b18d96bac5).

  • Подсказка восстановления загрузчика — несоответствие bootloader.bin теперь подсказывает войти в режим восстановления загрузчика (d46b998c76e).

  • Воспроизведение видео стало надёжнее: путь к FFmpeg отображается, когда инструменты не могут его запустить, сообщение становится понятнее, когда архитектура не поддерживает воспроизведение, входные форматы запрашиваются через ffmpeg -demuxers, а также добавлены резервные варианты для терминала Linux (0cc0e74a438, a75ec4898d0, 28e1ef10326, 51651780723).

  • Скрипт захвата набора данных обновлён для использования модуля csi (41a781651e4).

  • Улучшен внешний вид мастера установщика для Windows (250599d9d9e).

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

  • Установка прошивки для разработки для плат .lst (AE3) теперь размещает двоичные файлы, на которые ссылается листинг, в каталог прошивки, а установка dev/custom размещает образ ROMFS из архива, предварительно очищая любой устаревший romfs*.img, поэтому прошивается загруженный ROMFS вместо оставшегося дампа из редактора (3cf56e98668, 43bedc8c591).

  • Предупреждения libjpeg для усечённых/повреждённых кадров отфильтровываются из журнала, чтобы поток с потерями не засорял терминал (6e2a8bed6cf, a5166abbdc1).

  • Список примеров больше не показывает внутренний index.json (14ac8ca48a7).

  • Всплывающие окна обновления прошивки и первичной настройки подавляются в режиме просмотрщика, чтобы демонстрация продукта никогда не предлагала перезаписать прошивку клиента (7b8528c3ad6).

  • Оставшиеся висячие и предназначенные только для разработки сочетания клавиш от удалённых меню были отключены (be3bee8bb58, 27d1afc8705).

Локализация#

  • Четыре новых языка — индонезийский, румынский, тайский и вьетнамский — доводят IDE до 37 переведённых языков, и каждый каталог был обновлён, переведён и очищен по всем языкам (fcf04090843, c830e6c4de3, 5e22679923f).

Командная строка#

  • Псевдонимы опций в стиле GNU ``–word`` теперь принимаются наряду с формами с одним дефисом, а вывод -help отмечает эту эквивалентность (66414213dd9, 768c5d0e159).

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

  • Основа Qt Creator: 14.0.2.

  • Версия OpenMV IDE повышена до 5.0.0.

  • Новое: устанавливаемый отдельно вариант сборки OpenMV Viewer.

  • Поддержка Python 3.14 — входящий в комплект парсер parso обновлён до 0.8.7, что сохраняет работоспособность автодополнения кода и языкового сервера с новейшим синтаксисом Python (578a4e39d97).

Несовместимые изменения#

Отсутствуют для существующих проектов. Протокол отладки v2 применяется к камерам v5.0.0; камеры поколения v4 продолжают использовать существующий протокол, а существующие скрипты и рабочие процессы не затронуты.