v4.0.13

v4.0.13 вводит протокол управляющих кодов OMV, который позволяет скриптам, выполняющимся на камере, управлять IDE напрямую из потока вывода print/терминала, и изменяет два значения по умолчанию: синхронизация импортированных библиотек теперь требует явного включения, а две записи контекстного меню framebuffer теперь скрыты. Выпуск остаётся на базе Qt Creator 10.0.1. Изменений, нарушающих API скриптинга, нет, но несколько значений по умолчанию в рабочем процессе, видимых пользователю, изменились.

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

  • Протокол управляющих кодов OMV позволяет скриптам на камере вызывать всплывающие диалоговые окна Info/Warning/Error/Question и сохранение изображения в Dataset Editor напрямую из потока вывода print/терминала.

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

  • Синхронизация импортов теперь требует явного включения, она вынесена за новый переключатель в меню Tools вместо автоматического запуска.

  • Более чистый вывод print — лишний перевод строки после изображения буфера кадра/JPEG теперь удаляется как в выводе print IDE, так и в последовательном терминале.

  • Упрощённое меню framebuffer — записи контекстного меню Save Template to Cam и Save Descriptor to Cam теперь скрыты.

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

  • Протокол управляющих кодов OMV. Скрипты, выполняющиеся на камере, теперь могут управлять IDE из потока вывода print/терминала, используя новый протокол управляющих кодов OMV. Поддерживаемые функции включают сброс системы, формирование буферизованного текста из START_TEXT, вызов всплывающих диалоговых окон Info, Warning, Error и Question, а также удалённый вызов сохранения изображения в Dataset Editor. Это добавляет openmvpluginescapecodeparser.{cpp,h} с перечислением ESCAPE_CODE_FUNCTION_*, встраивает парсер в outputwindow.cpp и openmvterminal.cpp и подключает сохранение в dataset-editor к datasetEditorSnapshotAction (77e6b1987).

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

  • Диалоги, вызываемые управляющими кодами, ограничены по частоте до максимум одного в секунду, поэтому быстро печатающий скрипт не может заспамить всплывающими окнами (8b2bbae57).

  • Более короткий префикс управляющих кодов. Префикс пользовательской последовательности команд был сокращён с трёхсимвольного OMV до одного O в парсере терминала/вывода (90423e6f5).

  • Синхронизация импортов по умолчанию отключена. Автоматическая синхронизация импортированных библиотек между OpenMV Cam и папкой Documents теперь отключена по умолчанию и вынесена за новый сохраняемый переключатель в меню ToolsSync Imports between OpenMV Cam and Documents Folder (0b6ee2590).

  • Сокращённое контекстное меню framebuffer. Записи Save Template to Cam и Save Descriptor to Cam теперь скрыты из контекстного меню framebuffer, вызываемого правой кнопкой мыши (действия по-прежнему существуют в коде, но сделаны невидимыми) (33a3e62a7).

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

  • Исправлен лишний перевод строки, появлявшийся после изображения буфера кадра/JPEG в выводе print IDE и в последовательном терминале, поэтому последующий текст теперь печатается чисто (afc817024).

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

  • Базовая версия Qt Creator: 10.0.1.

  • Версия OpenMV IDE повышена с 4.0.12 до 4.0.13 (b4f0030c5).

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

Изменений, нарушающих API скриптинга, нет, но два значения по умолчанию, видимых пользователю, изменились:

  • Контекстное меню framebuffer, вызываемое правой кнопкой мыши, больше не показывает Save Template to Cam или Save Descriptor to Cam (эти записи теперь скрыты).

  • Автоматическая синхронизация импортированных библиотек между OpenMV Cam и папкой Documents теперь ОТКЛЮЧЕНА по умолчанию и должна включаться через новый переключатель Sync Imports between OpenMV Cam and Documents Folder в меню Tools.