zjk
|
c8becd1f6c
|
2026-08-27 调试完成版本
- FC 控制指令域修正:payload 14→18 字节,纵倾/横倾姿态拆分为数据1/数据2
- WebServer 广播改为待发队列模式,修复 mongoose 跨线程调用问题
- build-board.sh 增加板卡组网说明(/23 掩码方案)、pCCU 服务部署与 mission 同步
- 同步 0824 协议文档更新
|
2026-08-27 21:51:36 +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
|
7819ea621f
|
基线:UDP 收包长度校验 + SQLite 表描述符重构 + 清理设计文档
|
2026-08-19 22:31:23 +08:00 |
|
zjk
|
e455e2e9da
|
修复:编译告警(格式串不匹配、非 void 函数缺返回值、C++17 结构化绑定)
- 修复 LOG_F 格式串与参数类型/数量不匹配(udpComm.h、uPlan_taskStart.h、httpserver.cpp、PowerManagerFsm.cpp、WaterBasedReady.cpp、LowerCommManager.cpp)
- httpserver.cpp 中 mg_connection::fd 为 void*,打印时强转为 int
- uExternComm_setOpCondition.h / uPower_sysState.h 补齐返回值,消除 -Wreturn-type
- driver.cpp 移除结构化绑定(C++17),保持 -std=c++11
- PowerManagerFsm.hpp 为 class Lifting 补充 react(DevCmdExt) 声明,消除死代码编译错误
|
2026-08-19 21:52:29 +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
|
3c0dc1c688
|
pPowerMangerHost:反馈数据 SQLite 落库,新增历史查询 API 与曲线绘图
- 新增 FeedbackStore(sqlite3 封装),fb_log 表按消息落盘,环形时间保留
- HostSim 每次收到反馈即批量写库,支持 DB_FILE/FB_LOG_KEEP_SECONDS 等配置
- 新增 /api/history、/api/rawlog 接口;曲线页新增历史数据加载
- 数据库目录不存在时自动创建;新增板卡原生编译脚本 scripts/build-board.sh
|
2026-08-19 16:42:48 +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
|
3cdfa2e757
|
pPowerMangerHost:WebSocket 连接时推送初始快照,更新前端页面
WebServer 增加 setOnOpen 回调,新客户端连接时立即推送当前状态快照;
web/index.html 同步更新前端展示逻辑。
|
2026-08-19 14:33:01 +08:00 |
|
zjk
|
48be5115c9
|
构建/部署:切换 Ubuntu 22.04 交叉编译环境,新增板卡部署工具
- ci/Dockerfile:基础镜像 20.04 → 22.04(板卡实测为 Orange Pi Jammy,
旧 focal 镜像保留为 h100-power-manager-ci:arm64-focal)
- scripts/build-arm64-image.sh:arm64 镜像构建(支持 --force 重建)
- scripts/build-arm64.sh:日常交叉编译(产物输出 bin/arm64/,与本地隔离)
- scripts/deploy.sh:板卡部署(推送二进制+mission,安装 3 个 systemd 服务)
- missions/h100.moos:板卡专用 mission 配置
- .gitignore:忽略 build-arm64/、webassets_gen.h 等构建产物
|
2026-08-19 14:32:46 +08:00 |
|
zjk
|
4125d9ad77
|
清理:删除废弃代码与旧 WebUI 残留
- backup/:SQLiteDB 旧备份
- src/bck/:整个旧 pPowerManger 备份源码树
- src/appPowerMangerWebUI/:旧 crow WebUI(已从构建移除)
- bin/static、bin/templates:旧 crow WebUI 运行时资源
- test/SQLiteDBTest.cpp、test/udpCommTest.cpp:未参与编译,已被 test/until 取代
|
2026-08-19 14:32:35 +08:00 |
|
zjk
|
742f97c239
|
修复:pushMsgToQueue 缺少返回值导致 CCU 状态不更新
pushMsgToQueue 声明返回 bool,但成功路径 push 后仅 break,
函数末尾无 return,属未定义行为(返回值是垃圾寄存器值)。
导致 listenThreadFunc 中 if(pushMsgToQueue(Buff)) 判 false,
updatePoweSystemStates() 从不执行,CCU 状态消息入队后从不
处理(界面不显示)。
在函数末尾补 return true,并将各接收队列的 size() 检查
移入 lock_guard 内,消除与主线程 clear/pop 的 TOCTOU 竞争。
|
2026-08-19 14:31:15 +08:00 |
|
zjk
|
da90f98fa9
|
修复:UDP 接收队列数据竞争导致 SIGSEGV 崩溃
pushMsgToQueue 在监听线程向各接收队列 push 时无锁,
而 clearMsgQueue/popMsgFormQueue 在 MOOS 主线程持锁 pop,
并发操作同一 deque 造成堆内存损坏,收到 140 CCU UDP 消息后崩溃。
为 6 处 push 补上与 clear/pop 对应的互斥锁
(m_mutexCcuState/CcuSetParm/DisHighVolBus/DisHighAVolBus/
DisHighBVolBus/DisLowBus),修复数据竞争。
|
2026-08-19 14:06:03 +08:00 |
|
zjk
|
f3dd9e2c5a
|
构建:修复 GTest 链接失败——显式指定 Linux GTest 配置,避免从 PATH 探测到 Windows Anaconda 的 .lib
|
2026-08-18 19:45:50 +08:00 |
|
zjk
|
a6da5e3ae9
|
CI:回滚镜像构建 -j2(QEMU 下 MOOS 全量编译 -j2 会超时),仅保留测试阶段 make -j2 降内存
build-test-deploy / ci (push) Successful in 19m7s
|
2026-08-14 23:07:15 +08:00 |
|
zjk
|
90d892349a
|
CI:降低 QEMU 编译并行度(-j2) 缓解内存压力,冒烟阶段加内存诊断
build-test-deploy / ci (push) Successful in 1h1m40s
|
2026-08-14 22:56:10 +08:00 |
|
zjk
|
0d40f13bd0
|
CI:集成测试改为非致命(记录 bad_alloc 已知问题,不阻塞流水线)
build-test-deploy / ci (push) Successful in 12m42s
|
2026-08-14 22:22:02 +08:00 |
|
zjk
|
5e7404ec9f
|
CI:集成测试改为与冒烟窗口并行喂 UDP,失败时输出 pPowerManger 日志与 DB 表诊断
build-test-deploy / ci (push) Failing after 11m39s
|
2026-08-14 22:06:18 +08:00 |
|
zjk
|
5e77e3c491
|
CI:容器补装 python3(集成测试 check_db.py 需要)
build-test-deploy / ci (push) Failing after 13m44s
|
2026-08-14 21:43:43 +08:00 |
|
zjk
|
de298414ff
|
测试:GoogleTest 全面单测(10工况设备表/故障检测/协议/消息/SQLite读回)+ UDP→SQLite 集成测试,src 零改动
build-test-deploy / ci (push) Failing after 11m45s
|
2026-08-14 21:29:57 +08:00 |
|
zjk
|
f51a3ac750
|
CI:移除自动部署,改为发布二进制到 Gitea Releases(v* tag 建版本号 Release,main push 更新 latest 预发布),README 记录发布流程
build-test-deploy / ci (push) Successful in 8m59s
|
2026-08-14 17:59:25 +08:00 |
|
zjk
|
10944c0587
|
CI:增强 Markdown 测试报告(失败含日志片段+运行链接),移除 HTML 报告,README 加 CI 徽章与报告入口
build-test-deploy / ci (push) Successful in 7m22s
|
2026-08-14 17:41:31 +08:00 |
|
zjk
|
1068d3e091
|
CI:修复测试报告——仅提交报告文件(避免误提交二进制),commit 用 git rev-parse 获取
build-test-deploy / ci (push) Successful in 7m10s
|
2026-08-14 16:56:08 +08:00 |
|
zjk
|
547b2b6b99
|
CI:自动输出可视化测试报告(markdown 摘要 + JUnit XML + 自包含 HTML),并推送到 test-reports 分支
build-test-deploy / ci (push) Successful in 8m13s
|
2026-08-14 16:44:44 +08:00 |
|
zjk
|
83d6d4dbaa
|
CI:镜像补装 netbase 提供 /etc/protocols(修复 MOOSDB getprotobyname 失败导致启动崩溃)
build-test-deploy / ci (push) Successful in 7m59s
|
2026-08-14 16:26:07 +08:00 |
|
zjk
|
cb0f556d3b
|
CI:冒烟测试加诊断(getprotobyname/gethostbyname) 并给 MOOSDB 加 -s 单线程模式
build-test-deploy / ci (push) Failing after 7m13s
|
2026-08-14 16:11:15 +08:00 |
|
zjk
|
a0b874f326
|
CI:冒烟测试给 MOOSDB 加 --moos_suicide_disable 跳过 multicast 自杀监听(qemu 容器下 multicast 可能异常)
build-test-deploy / ci (push) Failing after 7m38s
|
2026-08-14 15:58:38 +08:00 |
|
zjk
|
5ac3ca5def
|
修复 SQLiteTest 链接:Ubuntu 20.04(glibc<2.34) dlopen/dladdr 在 libdl 中,需链接 dl
build-test-deploy / ci (push) Failing after 6m59s
|
2026-08-14 15:44:11 +08:00 |
|
zjk
|
8ef5de9944
|
修复 aarch64 编译:to_ulong()/size() 返回 unsigned long,赋给 Json::Value 产生歧义,改为显式转换
build-test-deploy / ci (push) Failing after 7m15s
|
2026-08-14 15:35:03 +08:00 |
|
zjk
|
6d765ee165
|
CI:用 docker cp 替代 -v 挂载(runner 容器内工作区路径不是宿主机路径)
build-test-deploy / ci (push) Failing after 5m13s
|
2026-08-14 15:27:17 +08:00 |
|
zjk
|
52bce119bd
|
CI:适配镜像版 moos-ivp(旧版 build-moos 不支持 --with-proj,PROJ 已内置无需下载)
build-test-deploy / ci (push) Failing after 23m49s
|
2026-08-14 14:59:49 +08:00 |
|
zjk
|
16255676bd
|
CI:改用内部 Gitea 镜像 UUV/moos-ivp 克隆源码(经 BuildKit secret 传 token)
build-test-deploy / ci (push) Failing after 2m5s
|
2026-08-14 14:52:59 +08:00 |
|
zjk
|
b925a7220a
|
CI:禁用 PROJ/UTM(MOOSGeodesy 的 CPM 从 github 拉取 PROJ 被墙导致构建失败)
build-test-deploy / ci (push) Has been cancelled
|
2026-08-14 14:23:33 +08:00 |
|
zjk
|
8202b46da8
|
CI:给构建/测试步骤加 timeout-minutes 防止卡死
build-test-deploy / ci (push) Failing after 25m14s
|
2026-08-14 13:52:09 +08:00 |
|
zjk
|
53998ee1c5
|
CI:改用 tarball 下载 MOOS-IvP 源码(git clone 经代理卡死)
build-test-deploy / ci (push) Failing after 17m52s
|
2026-08-14 13:40:39 +08:00 |
|
zjk
|
8fff86b9a3
|
CI:修复 github 被墙问题——用 gh-proxy 克隆 MOOS-IvP,apt 走阿里云镜像
build-test-deploy / ci (push) Has been cancelled
|
2026-08-14 13:28:56 +08:00 |
|
zjk
|
8d3bbfbf8c
|
CI:用 buildx 跨架构构建 arm64 镜像
build-test-deploy / ci (push) Failing after 9m52s
|
2026-08-14 13:15:12 +08:00 |
|
zjk
|
b7fceb2878
|
CI:runner 为 Alpine 容器,运行时安装 docker CLI 并用宿主 daemon 构建 arm64 镜像
build-test-deploy / ci (push) Failing after 3m35s
|
2026-08-14 13:10:45 +08:00 |
|
zjk
|
bfaa71bd43
|
临时诊断 runner 环境
build-test-deploy / ci (push) Failing after 8s
|
2026-08-14 13:09:02 +08:00 |
|
zjk
|
97a763ead6
|
修复 CI:改用 git clone 自检出,去除对 github.com 外部 action 的依赖
build-test-deploy / ci (push) Failing after 9s
|
2026-08-14 13:08:06 +08:00 |
|
zjk
|
4976b71d04
|
添加 Gitea Actions CI/CD:aarch64(QEMU) 构建+单元测试+冒烟测试+部署
build-test-deploy / build-test (push) Failing after 37s
build-test-deploy / deploy (push) Has been skipped
|
2026-08-14 13:04:47 +08:00 |
|
zjk
|
ea06a415a1
|
修复Web服务内存泄露、数据竞争与页面显示bug,适配x86编译
- 修复WebSocket推送无背压导致mongoose发送缓冲无限增长的内存泄露
- 为SystemData增加互斥锁,消除pushSystemData与主线程的数据竞争
- 修复网页状态文本判断反转、漏水告警阈值、FC状态、H2单位等显示bug
- 按协议修正电池紧急状态枚举解码(0x3A-0x3D为1-4级报警)
- 调整CMake适配系统安装的MOOS/IvP及jsoncpp,删除ARM专用build_debug.sh
|
2026-08-12 23:17:36 +08:00 |
|
zjk
|
7b0d0ff34b
|
移除对编译产物的跟踪,完善 gitignore 忽略二进制文件
|
2026-08-12 21:50:16 +08:00 |
|
zjk
|
aa81980817
|
修复应急电池温度的问题
|
2026-02-26 13:42:15 +08:00 |
|
zjk
|
771b725634
|
增加开机闭合应急电断路器
|
2026-02-26 13:24:36 +08:00 |
|
zjk
|
d5507b2e00
|
在故障模式下断开推进电机\舵机\启闭机构和敞水机构的电
|
2026-02-26 10:47:26 +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 |
|