v1.1.0

v1.1.0 делает OpenMV IDE осведомлённой о прошивке: собранная на основе Qt Creator 4.0.2, она теперь обнаруживает устаревшую OpenMV Cam при подключении и автоматически обновляет её прошивку через последовательный загрузчик, добавляет поддержку новой OpenMV Cam на Cortex-M7 и превращает панель General Messages в полноценный Serial Terminal. Этот выпуск изменяет несколько поведений по умолчанию (автоматическое обновление прошивки и фильтры файлов Python), о которых пользователям следует знать; см. Несовместимые изменения ниже.

Основные моменты

  • Автоматическое обновление прошивки — при подключении IDE обнаруживает устаревшую OpenMV Cam и прошивает встроенную прошивку через последовательный загрузчик, с возможностью также стереть внутреннюю файловую систему.

  • Поддержка OpenMV Cam на Cortex-M7 — новая плата на базе STM32F769 (OMV7) поддерживается наряду с существующей платой на Cortex-M4 (OMV2), с прошивкой для каждой платы и автоопределением.

  • Восстановление из «кирпича» — если камера не найдена, IDE может принудительно прошить подходящую прошивку в «окирпиченную» камеру после её повторного подключения.

  • Serial Terminal — панель General Messages теперь представляет собой тёмный Serial Terminal с прокруткой на 100000 строк, который всплывает при выводе.

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

  • Живой предпросмотр бинарных изображений и оттенков серого — просмотрщик буфера кадра отображает 1-битные изображения и изображения в оттенках серого в дополнение к RGB565 и JPEG.

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

  • Автоматическое обновление прошивки. Когда подключённая OpenMV Cam сообщает о версии прошивки старее, чем встроенный firmware.txt, IDE запускает загрузчик, стирает секторы флеш-памяти, программирует firmware.bin по частям с диалогами прогресса и перезагружает камеру. Пользователь может опционально стереть внутреннюю файловую систему в рамках обновления. (a175bff39, 50375ee95, 502177f3c, a871bfb48, 30eb9e0dc, 552803018, 889bc38fb, 047581ed5)

  • Путь восстановления из «кирпича». Если OpenMV Cam не найдена, IDE спрашивает, подключена ли «окирпиченная» камера, позволяет выбрать тип платы и принудительно прошивает подходящую прошивку после повторного подключения устройства. (a175bff39, 30eb9e0dc)

  • Действия сохранения скрипта и сброса. Новые пункты меню Tools сохраняют текущий скрипт на накопитель OpenMV Cam (Save script to OpenMV Cam) и перезагружают камеру (Reset OpenMV Cam); Stop также получил сочетание клавиш Ctrl+T. (9fc3dfa5a, a175bff39, 889bc38fb)

  • Уведомление об обновлении и локальная документация. При запуске IDE проверяет на openmv.io наличие более новой версии IDE и показывает уведомление о загрузке. Действие Docs в меню Help теперь открывает локально встроенную HTML-документацию (html/index.html), а действие распиновки открывает встроенное изображение распиновки (html/_images/pinout.png) вместо веб-сайта. (a175bff39, 50375ee95)

  • Буфер кадра для бинарных изображений и оттенков серого. Просмотрщик буфера кадра теперь отображает бинарные (1-битные) изображения и изображения в оттенках серого в дополнение к RGB565 и JPEG, а буфер кадра можно включать и выключать на лету с панели инструментов; старая кнопка сжатия JPEG на панели инструментов была скрыта в пользу этого переключателя вкл/выкл. (a175bff39)

  • Новые и обновлённые примеры. Добавлен пример разгона CPU (до 216 МГц), улучшенный многоклиентский потоковый передатчик MJPEG по WiFi, тест FPS и тест цветовой полосы, адаптирующийся к датчику OV7725. (a175bff39, 32dc31962, 502177f3c)

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

  • Serial Terminal. Панель General Messages была переназначена как Serial Terminal с тёмным фоном, повышенным приоритетом в строке состояния, прокруткой на 100000 строк и без переноса слов. Она всплывает и мигает, когда камера выводит данные. (9fc3dfa5a)

  • Неблокирующее подключение и отключение. Подключение и отключение были переработаны, чтобы быть неблокирующими, с диалогами прогресса и чистым асинхронным завершением работы, так что IDE больше не зависает, пока камера занята, и вместо этого показывает Busy... please wait.... (502177f3c, a175bff39, 6275d8855, 234f76389)

  • Сглаженное отображение FPS. Отображение FPS теперь является сглаженным скользящим средним за последние несколько кадров вместо мгновенного значения, с подсказкой, отмечающей, что оно может отличаться от FPS камеры. (a175bff39, 889bc38fb)

  • Доработка тёмной темы. Тёмная тема получила полосы прокрутки с особым оформлением и изображениями стрелок во всех редакторах и панелях, тёмное выделение результатов поиска и области в стиле Inkpot, а также белый текст на панели инструментов Find. (9fc3dfa5a, 94d8c41f1, 9d8683355)

  • Файловые умолчания, ориентированные на Python. Find in Files теперь по умолчанию использует фильтр файлов *.py, а диалог открытия файлов показывает все файлы, что соответствует разработке на MicroPython, а не на C++. (94d8c41f1, a175bff39)

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

  • Улучшена обработка последовательных портов в macOS (фильтрация по именам портов, содержащим cu) и Linux (более понятные указания при отказе в доступе с предложением sudo adduser <user> dialout), подавлено предупреждение SSL, диалоги загрузчика сделаны модальными для приложения, а также скорректированы тайминги и таймауты загрузчика для надёжности. (a175bff39, 552803018, a871bfb48, 30eb9e0dc)

  • IDE теперь автоматически открывает пример helloworld.py, когда при запуске нет открытых документов, и надёжно закрывает экран-заставку, исправляя проблемы с окном редактирования и состоянием при запуске. (a175bff39, 9d8683355, 502177f3c)

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

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

  • Версия OpenMV IDE: повышена с 1.0.0 до 1.1.0. (50375ee95)

  • Новая плата: OpenMV Cam на Cortex-M7 (STM32F769, OMV7) теперь поддерживается наряду с OpenMV Cam на Cortex-M4 (STM32F427, OMV2), с отдельными каталогами прошивки для каждой платы и автоопределением строки платы через boards.txt. (a175bff39)

  • Встроенная прошивка: обновлена до 1.7.0, а затем до 1.8.0 для обеих плат OMV2 и OMV7; минимальная/совместимая версия прошивки загрузчика — 1.6.0. (502177f3c, 32dc31962, a175bff39)

  • USB-драйверы для Windows: добавлены цифрово подписанные файлы USB-драйверов для Windows (openmv и pybcdc .inf/.cat) и каталог драйверов упакован вместе с IDE. (047581ed5)

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

Видимые пользователю изменения рабочего процесса и поведения в v1.1.0:

  • Автоматическое обновление прошивки при подключении. Когда прошивка подключённой OpenMV Cam старее версии встроенного firmware.txt, IDE предлагает вам обновить её (и опционально стереть внутреннюю файловую систему), прежде чем позволить продолжить. Отмена во время шага стирания или программирования может оставить камеру «окирпиченной» до её повторного подключения и перепрошивки.

  • Изменённые файловые умолчания. Фильтр файлов по умолчанию Find in Files изменён с *.cpp,*.h на *.py, а диалог открытия файлов теперь показывает все файлы вместо фильтров по типу MIME.