Commit Graph
69 Commits
Author SHA1 Message Date
zjk 2590282aed 0827协议修订:姿态数据2改预留 + 状态帧新增剩余发电量 + CCU地址可配置
build-test-deploy / ci (push) Successful in 1h13m13s
FC协议(0827 docx):
- 控制指令域:字节12,13/16,17由纵倾/横倾姿态数据2改为预留(编码恒0、解码忽略)
- 状态反馈域:字节147,148由预留12改为剩余发电量(MWh),贯通JSON/网页显示
- PM→CCU链路:姿态字段4xuchar改为2xshort(数据1),结构体大小与线上布局不变
- 同步更新:CCU转发映射、SnapshotBuilder、pCCU网页、fuelcell网页、SQLite列描述、单测/模拟器
- 修正集成测试遗留断言(20B→24B、心跳d[19]→d[23])并增强预留字节校验

CCU地址可配置:
- pPowerManger 支持 moos 配置项 ccuhost/ccuport(默认127.0.0.1:7000)
- build-board.sh 增加 --ccu-host/--ccu-port 参数

文档:FC协议文档更新为0827版,清理过期协议docx
2026-08-28 00:09:17 +08:00
zjk 54c32a180a 新增复合管控器(pCCU) + 惯导数据解析 + 设备控制页增强 + 0824协议文档归档
- 新增 pCCU 复合管控器程序(src/pCCU):FC/PM 双链路(UDP)、协议编解码器
  (FcProtocol/PmProtocol/Frame/Message/MessageRegistry)、快照与落库(DbStore)、
  内置 WebServer;挂入 src/CMakeLists.txt 与板卡 mission(h100.moos)
- 惯导/深度数据:新增 uDevice_insData 消息解析,接入 UpperCommManager,
  pPowerMangerHost 注册监视,UpmsgTest 覆盖
- pPowerMangerHost 设备控制页增强(web/index.html)
- 部署/运维脚本改为 4 个 systemd 服务(moosdb/pPowerManger/pPowerMangerHost/pCCU):
  deploy/clean-data/fetch-data 同步适配
- 协议文档:归档 0824 控制主机与复合管控器通信协议 xlsx 及关联 docx,移除旧 md
- 测试:新增 pccu 单元/集成测试与 disSysTest Python 配电仿真
- 清理:移除未使用的 CCU 状态调试打印 coutMsg;.gitignore 补充编译产物/临时文件忽略
2026-08-26 22:43:10 +08:00
zjk e0488d513b 协议:按0824协议更新复合管控通信解析 + 新增燃料电池监控网页
- pmSysvariable/ccuUdpMsg: 域起始符改为0x40 0x40,域标识符重编号0x0001~0x0004,
  ccuState/ccuColCmd/ccuSetParmCmd 按新协议字段布局与字节序重写(状态248B/操控45B/参数28B)
- systemData/httpserver: 新增FC单片电压、甲醇制氢装置、DC/DC、尾气装置、一体化罐、
  供氢供氧流量、应急上浮等字段解析与WebSocket JSON推送
- 新增 /fcs 燃料电池监控页(fuelcell.h):实时数据显示 + 操控指令交互按钮,
  过滤日志推送消息避免界面闪烁
- SQLite/LowerCommManager/测试:更新建表列、解析打印与单元/集成测试适配新协议
2026-08-26 20:56:39 +08:00
zjk 12f0dee86e 修复:跨线程数据竞争 + 协议字段越界 + UDP 发送失败吞错
- 并发安全:PowerManger 新增 m_stateMutex,保护 m_pmCurrentState /
  m_currentDisBreakerState / m_CcuColCmd / faultCode,并封装
  addFaultCode/clearFaultCodes/getFaultCodes 访问器
- SystemData 新增跨线程读访问器(getDynVoltageLink/getPowerBusStatus/
  getDcdcStatus/getDeviceCommonStatus 等)及配电故障码集合加锁访问
- upmsg buildMsg / httpserver pushSystemData / LowerCommManager 均改为
  持锁快照,避免 listen 线程与 comm 线程撕裂读写
- 修复析构顺序:先删 httpServer 再删其他对象,避免 use-after-free
- 修复 ccuState reserved2 越界读(协议预留 2 字节,结构体仅声明 1),
  修正 coutMsg 中 SOC 门限/功率限制字段打印
- udpComm::sendDisSysCmd 不再吞掉异常,返回 sendMsg 实际结果并记录 ERROR,
  新增 SendDisSysCmdFailsWithoutSocket 单测
- 新增 fullFeeder 全类型 UDP 集成仿真器与 fetch-data/clean-data 脚本,
  .gitignore 补充 SQLite 运行期文件与 fullFeeder 二进制
2026-08-21 11:36:19 +08:00
zjk f219b13a47 日志:日志文件路径支持 mission 配置 logpath
- 移除 main.cpp 中硬编码的 pPowerManger.log
- OnStartUp 读取 logpath 配置后调用 loguru::add_file
- 不配置则默认当前目录 pPowerManger.log,板上配置为 h100/data 目录
2026-08-19 16:54:31 +08:00
zjk f50c7bd612 数据库:下位机交互数据全量落库,SQLite 封装重构
- 新增 msg_log 原始帧表,RX/TX 双向记录原始字节与校验结果
- SQLite 封装改为描述符驱动的泛化 insert,删除 10 个手写 SQL
- 新增 ccuSetParmCmd/ccuSetParmFb 表,补齐 CCU 参数设定反馈落库
- 错误防崩溃:统一加锁、fail-open 降级、损坏自动重建、析构顺序修复
- WAL/迁移/预编译语句路径,数据库路径支持 mission 配置 dbpath
- 清理未使用的 shell.c/sqlite3ext.h/SQLite.zip
2026-08-19 16:28:41 +08:00
zjk 987d8b3ce0 增加了info字段,增加了上电检测,调整了绝缘电阻上报逻辑 2026-02-09 14:48:58 +08:00
zjk e5193bd7f7 修复了程序在启动时偶尔崩溃的问题 2026-01-27 20:45:00 +08:00
zjk b5ca051831 为数据库插入增加保护 2026-01-19 21:52:26 +08:00
zjk 481171d9ea 增加了xc声纳的上电 2025-09-12 11:35:17 +08:00
zjk 2ef5fd92ac 0712提交 2025-07-12 15:39:28 +08:00
zjk 16d4c25c77 系修复了dcdc和冷却系统获取状态的bug,优化故障码变量 2025-06-30 18:49:16 +08:00
zjk 45fdc455e9 修改了上电操作 2025-06-24 10:45:37 +08:00
zjk 035205101b 0606 2025-06-06 13:28:05 +08:00
zjk 8fab3bdf06 完善了显示,修改了复合管控的通信协议 2025-06-03 20:05:08 +08:00
zjk ee050bb58b 523调试 2025-05-23 15:38:23 +08:00
zjk 3a14a3cff8 修复了配电系统校验码的问题 2025-05-22 19:28:56 +08:00
zjk af8e7a1ed1 增加部分状态显示 2025-05-21 09:33:44 +08:00
zjk fea319d3bf 应急联调完成 2025-05-19 20:42:20 +08:00
zjk d6e3d466b2 增加mooos信息 2025-05-19 01:02:33 +08:00
zjk ab803d8d7e 完成了网页控制断路器 2025-05-17 22:39:08 +08:00
zjk fb23554408 增加控制功能 2025-05-17 11:21:34 +08:00
zjk 8585f0dd51 解决了websock频繁连接的问题 2025-05-17 08:39:18 +08:00
zjk e0b3e986c7 增加了网页服务 2025-05-16 01:08:12 +08:00
zjk 47079f79df 增加了数据库功能,采用直接编译源码的方式,不使用动态库链接 2025-05-14 23:27:35 +08:00
zjk b7a624334e 已完成上位机通信代码结构优化 2025-05-14 21:01:57 +08:00
zjk 18f00d70d4 优化消息代码 2025-05-14 15:12:26 +08:00
zjk 476be20025 修改了次级配电协议,优化消息结构 2025-05-14 10:02:47 +08:00
zjk 3e33c95cb1 增加了配电app 2025-05-05 19:03:57 +08:00
zjk 97a86acae4 进行了水面端测试 2025-04-28 19:41:37 +08:00
zjk a45ba75c37 屏蔽了squit3,实现了外部通讯交互 2025-04-27 00:11:30 +08:00
zjk 06226b6704 重构了与DB的交互逻辑,以及与任务\上位机指令的消息,使用新的loguru库进行日志管理 2025-04-20 22:42:28 +08:00
zjk b653f17b03 完善待机工况及相关逻辑 2025-04-09 23:28:05 +08:00
zjk 785a47ff99 优化通信代码,修复状态机的bug 2025-04-09 15:11:31 +08:00
zjk bac5f5291e 优化了上位机的通信函数 2025-04-07 23:32:35 +08:00
zjk 35e5d5230e 修复了udp的错误发送数据就报错的故障,莫名其妙好的,真是奇怪 2025-04-07 22:16:56 +08:00
zjk b5a746c2ef 测试 2025-04-07 21:45:19 +08:00
zjk 7ef9ec5ac0 优化结构 2025-04-07 21:18:02 +08:00
zjk ebf1701335 使用tinyfsm优化代码 2025-04-06 23:51:03 +08:00
zjk c51eb7073a 使用tinyfsm 2025-04-06 20:16:37 +08:00
zjk 811fbf2924 完善功能 2025-04-02 21:31:51 +08:00
zjk 9cc3140651 完善了部分逻辑,优化网页 2025-02-27 20:27:33 +08:00
zjk 4ee5cbfb86 增加了次级配电状态,设备状态表,设备上电指令的订阅\解析\发布等功能 2025-02-20 23:15:37 +08:00
zjk d89a1936ee 增加了MOOSDB消息的订阅和处理函数 2025-02-19 22:03:27 +08:00
zjk 75575f935c 增加了交互变量的状态,增加了设备状态和设备表的json解析和生成函数,修复了设备表类和通信协议中不同的地方 2025-02-19 17:18:39 +08:00
zjk 5b9934c6f2 与MOOSDB的交互消息的Key 2025-02-19 09:00:49 +08:00
zjk 14f7890d77 增加了解析上位机指令的功能 2025-02-18 23:01:29 +08:00
zjk 7dac85505b 为操作指令增加了数据库写入代码 2025-02-18 18:46:17 +08:00
zjk a179789b3f 增加了udp的测试代码,增加了时间获取函数,完善了ccu发送指令的函数 2025-02-18 16:57:11 +08:00
zjk 2599050c1f 增加了配电和ccu数据的数据库存储功能 2025-02-18 13:09:47 +08:00