Files
vision-anti-pinch/tests/ORIN_391_REPORT.md
T
zmv f87e5aad40 Fix live CAN feedback with CH0-only asynchronous risk transmission
Send 0x1F6 risk updates through a bounded latest-result worker on CH0 and disable CH1 initialization, reception, transmission and live display. Preserve the four actual-position bytes from 0x391 and recorded-session compatibility.

Include regression coverage, Orin camera/TensorRT/CAN validation, and the verified standalone binary with refreshed checksums.
2026-09-28 13:59:26 +08:00

3.8 KiB
Raw Blame History

0x391 实际位置反馈与 CH0 单通道修复(2026-09-28)

用户要求显示四门实际位置反馈,并明确不使用 CH1。本次保留 0x391 第 0/1/2/3 字节到 LF/RF/LR/RR 的无符号原始值映射,不改为门状态、不引入未经确认的百分比或角度换算。

实时模式仅初始化、启动、接收和发送 CH0;拒绝向 CH1 调用发送 API,忽略合并接收中的 CH1 数据,画面仅显示 CH0,并标明 ACTUAL POSITION。历史会话的双通道快照结构与回灌显示保持兼容,sendRisk() 返回值第二槽固定为 false。

实机现象与修复结果

用户第一次确认左前门打开后,原始接收工具取得 CH0、CANFD、64 字节的 0x391,前四字节为 1F 00 00 00,即左前门反馈 31。由此确认实际位置字段映射有真实报文依据。

修复前,真实摄像头/TensorRT 与原双通道风险发送同时运行时,接收计数长时间停顿;反馈年龄最高观察到约 5.84 秒。CH0 发送成功、CH1 发送失败,接收在发送等待期间停顿。仅将发送移到后台线程不能消除适配器发送等待对接收的影响。

最终仅 CH0 版本在同一硬件上运行:10 秒采样内 RX 持续增长,TX 到 299、TX 错误为 0,各采样点保持 LIVE。用户再次确认左前门打开后,最终版同一进程显示实际位置 26,0,0,0,末次采样更新为 25,0,0,0,0x391 计数从 4 增至 33。显示层由相同 renderResult() 绘制,已检查 CAN 画面裁剪,可见 LF 26,CH1 未显示。

详细结果与运行二进制校验见 实机结果。原始日志为 /tmp/vap_391_open.log,对照采样为 /tmp/vap_391_after.log,采样源码为 /tmp/vap_391_pipeline.cpp。

本机模拟、板端故障注入、硬件覆盖

  • 本机模拟:tests/run_can.sh(UBSan、模拟 SDK)通过。检查 CH1 不初始化/配置/启动/重置/发送、CH1 输入不覆盖 CH0、实际位置更新、CAN/CANFD、过期恢复、单通道风险报文、发送失败与恢复、后台最新值覆盖、停止清理。
  • 本机模拟:tests/run_session.sh 通过,保持已有会话 CAN 快照兼容;构建与 git diff --check 通过。
  • 板端故障注入:未执行。本次未修改共享摄像头采集、停止或恢复逻辑。
  • 真实硬件:Orin 上使用既有 /dev/video5、TensorRT 引擎、USBCANFD-200U 与配置;用户操作左前门,验证实际位置进入推理期间的实时显示。采样程序调用画面绘制,未运行 GUI 事件循环;正式程序另按原命令 ./run_camera.sh 启动验证。
  • 未覆盖:其余三扇门逐一动作、长期运行、CH0 断开/缺失 ACK、独立总线分析仪验证风险报文。接收错误计数仍增长(画面记录 RX errors 5801),本次未确定该总线错误的原因,不能宣称总线无错误。

部署与版本

最终运行 /proc/<pid>/exe、build/camera_risk 和 orin/build/camera_risk SHA256 一致:

418637a35f6ad05441578db1333e15714262a9c0ee088f10c2dd84923471cd0f

独立包可执行文件已更新,orin/SHA256SUMS 已刷新并完整校验。正式程序使用原命令 ./run_camera.sh,SIGTERM 后约 0.868 秒退出、退出码 0。测试前未发现常驻 camera_risk,测试后没有保留临时采样进程;没有修改原启动参数。

硬件验证时,本机即 Orin 工作区,检出 inference-only,HEAD 为 515a9f32d8c0ebf83503d4d240ffe917dc09950c;本次联网读取 Git 远端 inference-only 为 0192fccbf06cb928eac098b3dfad32abf0fc370d。上述硬件验证在未提交工作区进行。经用户要求,最终修复、后台风险发送、部署产物及验证记录一并纳入本报告所在提交;Git 远端尚未推送同步。以上二进制哈希标识已验证的本地部署产物。