v1.7.0¶
v1.7.0 добавляет разбиение на части и сборку буфера кадра по последовательному каналу, так что большие кадры можно передавать по отладочному последовательному соединению, делает отключение со сбросом более безопасным за счёт сброса буферов (а в Windows — извлечения) USB-накопителя камеры и обновляет набор примеров. Выпуск основан на Qt Creator 4.0.2 (та же база, что и в предыдущем выпуске) и добавляет поддержку сборки для кросс-компилируемых встраиваемых Linux-платформ, таких как Raspberry Pi. Несовместимых изменений нет.
Основные изменения¶
Разбиение буфера кадра по последовательному каналу — большие передачи буфера кадра разбиваются на части размером с MTU и собираются в буфере пикселей, так что большие кадры можно перемещать по отладочному последовательному соединению.
Более безопасное отключение со сбросом — буферы USB-накопителя камеры сбрасываются перед сбросом (и принудительно извлекаются в Windows), так что файловая система сначала синхронизируется.
Атомарное сохранение файлов — файлы
main.pyи файлы ключевых точек записываются атомарно, что предотвращает повреждение и исправляет ошибку пути, из-за которойmain.pyзаписывался не туда.Raspberry Pi / встраиваемый Linux — теперь включена поддержка сборки с кросс-компиляцией.
Обновлённые примеры — набор для Servo Shield, новые демонстрации обнаружения признаков и примеры видео Image Reader/Writer.
Новые возможности¶
Разбиение на части и сборка буфера кадра по последовательному каналу. Передачи буфера кадра разбиваются на части размером с MTU и собираются в буфере пикселей, так что большие кадры можно перемещать по отладочному последовательному соединению с использованием MTU по умолчанию. Добавлено рукопожатие авто-согласования MTU во время выполнения с порогом версии прошивки, установленным на 2.5.0, что соответствует прошивке 2.5.0, поставляемой в том же коммите (96458ccef). Затем этот порог был поднят до
9.9.9для релиза, что не сообщает ни одна поставляемая прошивка, поэтому камеры используют MTU по умолчанию и согласование не происходит (abd1dacb9).Сброс/извлечение при отключении со сбросом. Отключение со сбросом теперь сбрасывает буферы USB-накопителя камеры перед сбросом: в Windows накопитель принудительно извлекается, а в Linux и macOS файловая система накопителя синхронизируется (
syncfs/sync_volume_np). При сбое на всех трёх платформах сообщается об ошибкеFailed to eject(243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Примеры Servo Shield. Добавлен набор примеров
15-Servo-Shield, демонстрирующий сервоприводы под управлением PCA9685, включая драйверpca9685.pyи вспомогательный модульservo.py(abd1dacb9).Новые примеры обнаружения признаков. Добавлены
find_circles(Хаф),find_rects(квадро-порог),find_numbers(распознавание цифр LeNet), а также быстрые и устойчивые примеры линейной регрессии в каталоге09-Feature-Detection(abd1dacb9).Примеры видео и управления платой. Добавлены примеры Image Reader/Writer для записи и воспроизведения потоков снимков с SD-карты, пример управления платой RTC и запускатель модульных тестов на камере (abd1dacb9).
Прочие изменения и улучшения¶
Переименован каталог примеров
99-Tests(ранее15-Tests) и добавлен запускательunittests.py(abd1dacb9).
Исправления ошибок¶
Усилено сохранение файлов
main.pyи файлов ключевых точек. Запись была переведена на атомарную записьFileSaver(запись с последующей финализацией) в (4fd4e89cf), а отсутствующий разделитель пути, из-за которогоmain.pyзаписывался не туда, был исправлен в (1865ffd31).Улучшена надёжность последовательной связи за счёт увеличения буфера чтения последовательного порта до 1 МБ на всех портах и увеличения тайм-аута зависания чтения, что устраняет потерю данных с
QSerialPort(7f68368dc).Исправлен сбой раскладки разделителя окна за счёт экспорта
MainWindowи испускания сигнала события показа, чтобы плагин OpenMV мог восстановить раскладку при показе главного окна (4895e20b7).
Поддержка платформ и инструментов¶
Базовая версия Qt Creator: 4.0.2.
Добавлена поддержка сборки для кросс-компилируемых встраиваемых Linux-платформ, таких как Raspberry Pi: разворачивает шрифты Qt, исправляет обработку
chrpath/RPATH, собирает переводы с помощью хост-бинарников и добавляет отсутствующую зависимостьqml(73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).Обновлена поставляемая прошивка OpenMV с 2.4.1 до 2.5.0 (96458ccef).
Переименованы каталоги прошивок
OMV2/OMV3вOPENMV2/OPENMV3и поставлены обновлённые, пересобранные бинарные файлы прошивки и загрузчика STM32F427 (OPENMV2) и STM32F765 (OPENMV3) (abd1dacb9).
Несовместимые изменения¶
Отсутствуют. Этот выпуск не вносит видимых пользователю нарушений рабочего процесса или поведения, и существующие проекты продолжают работать без изменений.