- CanBms: bcuCtrlCanId(0x10XX81FF) + buildBcuRelayCtrlData(02 00 总正 总负 FF*4) - SystemData: BcuCtrlCmd 下行队列(Web线程入队->Iterate/MOOS线程出队Notify) + 下发统计 - CCU: /api/bcu_ctrl(addr/action 或 pos/neg, 校验地址01h~36h) + Iterate 经 MOOS CAN_TX_0x* 下发 - pCanBridge 变双向透传: 订阅 CAN_TX_0x*,CanEndpoint::sendFrame(13字节CANET帧,TCP写,互斥保护) - 网页: 每BCU节点断路器闭合/断开按钮(confirm确认) + 下发统计卡片 - 测试: pccuTest 控制帧编码用例(183项);集成测试新增假CANET服务器验证完整下行链路(闭合/断开/非法地址)
- pCCU/CanBms:按《04KT38电池BCU-MBMS通信(CAN)定义》重写解码, BmsStatus 单状态模型改为 BcuNodeStatus 多节点模型(0x10XX00YY, 节点地址 01~36h),支持 0x0000 电压/电流/SOC/告警码、0x0001 单体 电压、0x0002 单体温度、0x0003 继电器、0x0006 绝缘/端口电压、 0x0010 告警位(附录1 中文码表)六类报文 - 平均单体温度偏移修正:协议文档 BYTE5 写"偏移0"有误,实测固件与 最高/最低一致均带 -40℃ 偏移(实车 0x10020002 原始 68/69 减 40 后 为 28/29℃,落在最低28~最高30区间内,按文档直读则超出物理范围) - pCCU/DbStore:新增 bcu_node 解析数据表,锂电池 BMS 报文每帧落一行 节点合成状态(原 comm_log 仅原始帧,BMS/CAN 帧此前不落 pCCU 库), buildReport 增加 BMS 记录数 - 快照/网页:BCU 按节点分组展示(告警位解析中文含义、数据 age), PM 状态报文锂电池/应急电池卡片 - pPowerManger:新增 iport 本地输入端口配置(UDP bind 延迟到 OnStartUp 读取配置后执行,保证 iport/ccuhost/ccuport 生效), 各 mission 文件补充注释 - test:CAN BCU 解码用例按新协议/新偏移更新(实车抓包 + 文档示例值), 133 项全部通过 - docs:删除旧 BMS 协议(xlsx/20230324docx),归档 04KT38 BCU-MBMS CAN 定义、配电控制器通信协议 20260824、配电系统 CAN 通讯协议 - scripts:新增 sync-board-time.sh,223 板卡(RK3588)时间校正 (本机为基准 + RTT 折半补偿对时,尽力写 RTC,支持 status/--time)
协议层: - 新增 protocol/CanBms.{h,cpp}:按 docs/BMS_协议字段定义.xlsx 解码 0x10010000(总电压/SOC/故障码/状态位)、0x10010005(最大电流限制/ 总电流/最高单体电压)、0x10010006(总电压校验)。 缩放用除法保证与十进制字面量严格一致;总电流按 2 字节 s16 实现 (xlsx 标注 3 字节与其自身示例/实车帧矛盾,已在代码注释说明)。 - 删除 UDP 锂电池协议:protocol/BatProtocol.{h,cpp}、 comm/BatLinkManager.h(动力/仪表双链路、自检/接触器/功率指令)。 pCCU 主体: - CCU 订阅 pCanBridge 发布的 CAN_0x* 二进制消息并解码 BMS 报文; SystemData 双电池槽位改为单一 BmsStatusValue + CAN 帧计数; PM 电池启停/功率指令改为告警忽略(BMS CAN 协议未定义控制报文)。 - 修复两个本地联调发现的阻断性 bug: 1) MOOS 通配订阅必须用三参数 Register("CAN_0x*","*",0), 单参数形式不做通配匹配; 2) 变量名前缀匹配偏移(compare 少比 1 字符 / sscanf +5 指向 'x'), 改为 rfind 前缀判断 + +6 偏移。 - PowerCoordinator/CoordFsm 剥离电池接触器/切换时序(依赖已删除的 UDP 指令),保留 FC 联动与协调策略占位(CoordSwitchingState 改为 通用的 CoordBusyState)。 网页: - 动力/仪表锂电池两个标签页合并为"锂电池BMS(CAN)":总电压/总电流/ SOC/最大电流限制/最高单体电压/校验帧/故障码高亮/在线状态, 附报文来源说明;链路状态页改为 CAN 链路行(pCanBridge)。 配置与测试: - pCCU.moos / missions/h100.moos 移除电池 UDP 配置; - pccuTest:删除旧电池编解码用例,新增 testCanBmsDecode (向量取自实车抓包:533.8V/20.1%/49/3.752V/-25.0A)103/103 通过; - 集成测试改为纯 FC/PM 流程,本地实测 PASSED(含 Web 页面校验)。