zjk
b547772709
新增 pCanBridge:USBCAN-8E-U CAN->MOOSDB 透传桥 + SQLite 落库
新应用 src/pCanBridge(独立 MOOS App,单通道):
- CanEndpoint:TCP Client 连接 CANET/USBCAN-8E-U 工作端口
(目标 IP/端口可配置,默认 192.168.0.222:4001=CAN0),
接收线程流式缓冲按 13 字节切帧,过滤无效 DLC(>8),
断线自动重连(非阻塞 connect+超时 / SO_RCVTIMEO 读超时)。
- 帧协议(CANET-8E-U 手册 8.1):byte0=帧信息(bit7 FF/bit6 RTR/
bit3~0 DLC),byte1~4=ID 大端,byte5~12=数据。
- MOOS 映射:变量名 CAN_0x%08X=CAN ID(不缩减),m_sVal=二进制
data(逐帧透传不限流),m_sSrcAux=通道名(can_channel_name),
m_dfVal2=原始帧信息字节(用于区分标准/扩展、数据/远程帧)。
- CanDbStore:每帧落库 SQLite(can_frame 表:time/channel/
frame_info/can_id/dlc/hex,含 time、can_id 索引),参考 pCCU
DbStore:预处理语句 + WAL + synchronous=NORMAL,路径由 dbpath
配置;复用 pPowerManger 的 sqlite3 amalgamation。
- AppCast 输出连接状态/收帧/发布/落库统计。
配套:
- missions/h100.moos 新增 pCanBridge 配置块(板卡 dbpath 指向
data 目录)。
- build-board.sh / deploy.sh 支持 pCanBridge:产物部署 +
pCanBridge.service 安装,服务列表加入第 5 个服务。
- .gitignore 忽略 bin/pCanBridge 与本机默认数据库。
已验证(板卡 192.168.0.223 实测):服务 active,连接设备正常,
~60 帧/s 透传,落库 9000+ 行 integrity ok、无丢帧。
2026-08-31 19:14:59 +08:00
..
2024-10-22 17:28:15 +08:00
2024-10-22 17:28:15 +08:00
2026-08-31 19:14:59 +08:00
2026-08-28 00:09:17 +08:00