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
|
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
|
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
|
987d8b3ce0
|
增加了info字段,增加了上电检测,调整了绝缘电阻上报逻辑
|
2026-02-09 14:48:58 +08:00 |
|
zjk
|
2ef5fd92ac
|
0712提交
|
2025-07-12 15:39:28 +08:00 |
|
zjk
|
8fab3bdf06
|
完善了显示,修改了复合管控的通信协议
|
2025-06-03 20:05:08 +08:00 |
|
zjk
|
2be7ce203e
|
修复
|
2025-05-25 08:41:58 +08:00 |
|
zjk
|
ee050bb58b
|
523调试
|
2025-05-23 15:38:23 +08:00 |
|
zjk
|
3a14a3cff8
|
修复了配电系统校验码的问题
|
2025-05-22 19:28:56 +08:00 |
|
zjk
|
fea319d3bf
|
应急联调完成
|
2025-05-19 20:42:20 +08:00 |
|