v4.4.2

v4.4.2 переработает USB-протокол последовательной связи, чтобы устранить наложение пакетов нулевой длины, которое могло приводить к зависанию или отключению камеры, добавляет высокоскоростной USB-режим для каждой платы и исправляет установщик драйвера Windows. Выпуск построен на Qt Creator 14.0.2 без изменений по сравнению с предыдущим релизом и не содержит несовместимых изменений.

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

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

  • Высокоскоростной USB-режим для каждой платы выбирает правильный размер bulk-эндпоинта (512 или 64) во время подключения.

  • Более отзывчивый предпросмотр благодаря более частым интервалам опроса буфера кадра и состояния.

  • Исправление установщика драйвера Windows, так что шаг установки USB-драйвера больше не приводит к сбою всей установки IDE.

  • Восстановление при зависании чтения в Windows снова включено, при этом убран обходной приём с ping-командой GET_STATE, который сам вызывал зависания.

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

  • Флаг высокой скорости для каждой платы. В файле firmware/settings.json появляется запись highSpeed для каждой платы, чтобы IDE выбирала правильный размер USB-эндпоинта при подключении. RT1062, AE3, N6, Portenta и Nicla Vision помечены как высокоскоростные, тогда как камеры F4/F7/H7 и Giga остаются полноскоростными; при открытии IDE применяет значение для совпавшей платы через setHighSpeed(), по умолчанию используя полную скорость (431fc7bd4).

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

  • Уменьшены интервалы опроса для более отзывчивого предпросмотра: интервал дампа размера кадра снижен с 50 мс до 5 мс, интервал TX-буфера — с 20 мс до 5 мс, а интервал get-state установлен на 16 мс (431fc7bd4, c8c14006a).

  • Удалены неработающие действия навигации по коду из редактора, включая Find Usages, Rename Symbol и варианты in Next Split для перехода к символу и типу, вместе с их сочетаниями клавиш (Ctrl+Shift+U / Ctrl+Shift+R) и пунктами контекстного меню (2a28fba9b).

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

  • Переработан USB-протокол последовательной связи для устранения наложения пакетов нулевой длины (ZLP), которое нарушало синхронизацию и приводило к зависанию или отключению камеры. Передачи, попадающие на границу USB bulk-эндпоинта, теперь дополняются или обрезаются по размеру эндпоинта, а также добавлен высокоскоростной USB-режим для каждой платы (431fc7bd4, 79f452128, 1be51d27f, cac187991).

  • Снова включён путь восстановления при зависании чтения в Windows, когда ОС получает данные, но не передаёт их приложению, при этом убран обходной приём с ping-командой GET_STATE, который сам вызывал зависания; добавлен новый параметр командной строки -override_read_stall_timeout (число миллисекунд ожидания перед ping-командой, по умолчанию 1000) для настройки тайм-аута восстановления (cac187991).

  • Исправлен установщик USB-драйвера Windows, чтобы он больше не приводил к сбою всей установки IDE: скрипты драйвера .cmd теперь завершаются с успехом, а установщик принимает эти коды завершения (750560aac, ba8537fa5).

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

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

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

Отсутствуют. Этот выпуск не меняет рабочие процессы пользователя с проектами.