fix(node): verify D455 access and share sensor progress and recording UI

This commit is contained in:
DCCONSTRUCTIONS
2026-09-05 23:25:11 +03:00
parent b1aaa40508
commit a8647c4d87
25 changed files with 497 additions and 61 deletions
@@ -77,3 +77,38 @@ Node/Core, переименование, глазик, профили, дейс
но не заменяют её. Реальные эксперименты имеют приватный manifest с UTC,
monotonic, границами и SHA-256. Чистая установка остаётся отложенным владельцем
критерием; текущий подготовленный Mini не выдаётся за чистую систему.
## Уточнения реализации и UI от 05.09.2026
Подготовка состоит из пяти сохраняемых системных этапов и шестой SDK-проверки
цвета, глубины, двух ИК-каналов, акселерометра и гироскопа. Общий ProgressBar
Design Guideline показывает завершённые этапы между названием и тремя кнопками,
не дублирует круг и точку. Отчёт прошлого запуска не используется как текущий
прогресс. Статус до подготовки: «Требуется подготовка». Характеристики БК
используют компактный размер описания аппарата и приглушённый цвет значений.
USB serial корпуса и serial SDK-модуля D455 различаются. Идентификатор берётся
по реальному USB-предку physical_port SDK; перечень USB и SDK объединяется по
нему, без привязки к порядку или единственной камере.
IIO IMU требует записи в capture controls sysfs. Профиль допускает только
D455 VID/PID, существующие buffer/enable,length,watermark, sampling_frequency,
hysteresis, current_timestamp_clock и scan_elements *_en. Отдельный root helper
назначает этим файлам группу сервиса и 0660; systemd получает ReadWritePaths
ровно этих файлов. Записи на всё /sys/devices нет. При смене USB-топологии
повторная кнопка подготовки пересобирает профиль. Чужая конфигурация сохраняется
с ошибкой конфликта. Обновление и удаление пакета отказывают, пока идёт захват,
просмотр записи или подготовка.
SDK 2.58.4.10922 записывает `source.db3` (ROS2 rosbag2/SQLite), а не legacy .bag.
Payload SDK содержит необходимые библиотеки, отдельная ROS2 не устанавливается.
Приватный manifest сохраняет выбранные профили, параметры, калибровку, firmware,
UTC/monotonic timestamps, счётчики и SHA-256 завершённого файла. Просмотр записи
явно запускается глазиком в списке записей, повторяется до остановки и использует
тот же WebRTC/слои; физическую камеру для этого не запускает. В API передаётся
только ID записи, произвольный путь не принимается. Текущий живой захват сначала
нужно остановить.
Первый тест исходной записи обнаружил отказ SDK от расширения .bag; это
исправлено в профиле 0.6.6 и требует повторной аппаратной проверки. SDK
[документирует формат .db3](https://github.com/realsenseai/librealsense/blob/master/doc/record-and-playback.md).