数据库:下位机交互数据全量落库,SQLite 封装重构

- 新增 msg_log 原始帧表,RX/TX 双向记录原始字节与校验结果
- SQLite 封装改为描述符驱动的泛化 insert,删除 10 个手写 SQL
- 新增 ccuSetParmCmd/ccuSetParmFb 表,补齐 CCU 参数设定反馈落库
- 错误防崩溃:统一加锁、fail-open 降级、损坏自动重建、析构顺序修复
- WAL/迁移/预编译语句路径,数据库路径支持 mission 配置 dbpath
- 清理未使用的 shell.c/sqlite3ext.h/SQLite.zip
This commit is contained in:
zjk
2026-08-19 16:28:41 +08:00
parent 3cdfa2e757
commit f50c7bd612
15 changed files with 918 additions and 35359 deletions
+13
View File
@@ -7,6 +7,7 @@ udpComm::udpComm()
udpScoket = nullptr;
ccuHost = "";
ccuPort = 0;
m_commLogger = nullptr;
}
udpComm::~udpComm() {
@@ -174,6 +175,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_CcuStateFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "ccuState", Buff, sizeof(msg_CcuStateFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexCcuState);
if(m_qReceiveCcuStateBuffer.size()<QUENUE_SIZE)
{
@@ -198,6 +200,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_CcuSetParmFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "ccuSetParmFb", Buff, sizeof(msg_CcuSetParmFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexCcuSetParm);
if(m_qReceiveCcuSetParmBuffer.size()<QUENUE_SIZE)
{
@@ -222,6 +225,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_disHighVolBusFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "disHighVolBusState", Buff, sizeof(msg_disHighVolBusFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexDisHighVolBus);
if(m_qReceiveDisHighVolBusBuffer.size()<QUENUE_SIZE)
{
@@ -246,6 +250,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_disHighAVolBusFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "disHighAVolBusState", Buff, sizeof(msg_disHighAVolBusFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexDisHighAVolBus);
if(m_qReceiveDisHighAVolBusBuffer.size()<QUENUE_SIZE)
{
@@ -270,6 +275,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_disLowMainBusFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "disLowMainBusState", Buff, sizeof(msg_disLowMainBusFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexDisHighBVolBus);
if(m_qReceiveDisHighBVolBusBuffer.size()<QUENUE_SIZE)
{
@@ -294,6 +300,7 @@ bool udpComm::pushMsgToQueue(unsigned char *m)
msg_disLowBusFbMsg s;
if(getMsgFromBuff((char *)Buff,s))
{
if (m_commLogger) m_commLogger->onFrame(0, id, "disLowBusState", Buff, sizeof(msg_disLowBusFbMsg), true);
std::lock_guard<std::mutex> lock(m_mutexDisLowBus);
if(m_qReceiveDisLowBusBuffer.size()<QUENUE_SIZE)
{
@@ -450,6 +457,7 @@ bool udpComm::sendDisSysCmd(const disHighVolBusCmd cmd)
{
std::cerr << e.what() << '\n';
}
if (m_commLogger) m_commLogger->onFrame(1, DIS_HVBUS_CMD_ID, "disHighVolBusCmd", msgBuf, sizeof(msg_disHVBCmd), true);
delete msg;
return true;
}
@@ -477,6 +485,7 @@ bool udpComm::sendDisSysCmd(const disHighAVolBusCmd cmd)
{
std::cerr << e.what() << '\n';
}
if (m_commLogger) m_commLogger->onFrame(1, DIS_HVBUSA_CMD_ID, "disHighAVolBusCmd", msgBuf, sizeof(msg_disHVBACmd), true);
delete msg;
return true;
}
@@ -505,6 +514,7 @@ bool udpComm::sendDisSysCmd(const disHighBVolBusCmd cmd)
{
std::cerr << e.what() << '\n';
}
if (m_commLogger) m_commLogger->onFrame(1, DIS_HVBUSB_CMD_ID, "disLowMainBusCmd", msgBuf, sizeof(msg_disHVBBCmd), true);
delete msg;
return true;
}
@@ -534,6 +544,7 @@ bool udpComm::sendDisSysCmd(const disLowBusCmd cmd)
{
std::cerr << e.what() << '\n';
}
if (m_commLogger) m_commLogger->onFrame(1, DIS_LVBUS_CMD_ID, "disLowBusCmd", msgBuf, sizeof(msg_disLVBCmd), true);
delete msg;
return true;
}
@@ -573,6 +584,7 @@ bool udpComm::sendCcuColCmd(const ccuColCmd cmd)
LOG_F(ERROR, "Exception in sendCcuColCmd: %s", e.what());
}
if (m_commLogger) m_commLogger->onFrame(1, CCU_CMD_ID, "ccuColCmd", msgBuf, sizeof(msg_CcuColCmdMsg), true);
delete msg;
return sendResult;
}
@@ -597,6 +609,7 @@ bool udpComm::sendCcuSetParmCmd(const ccuSetParmCmd cmd)
{
std::cerr << e.what() << '\n';
}
if (m_commLogger) m_commLogger->onFrame(1, CCU_SET_PARM_ID, "ccuSetParmCmd", msgBuf, sizeof(msg_CcuSetParmMsg), true);
delete msg;
return true;
}