This commit is contained in:
zjk
2025-05-25 08:41:58 +08:00
parent ee050bb58b
commit 2be7ce203e
5 changed files with 68 additions and 18 deletions
+16 -2
View File
@@ -93,6 +93,7 @@ bool udpComm::getMsgFromBuff(char *m, msg_disHighVolBusFbMsg &s)
sum = calculateChecksum((unsigned char*)m, sizeof(msg_disHighVolBusFbMsg), sizeof(cChecksum)) & 0xFF;
if (sum != p->checkCode) {
sError.push_back("DisSys HVBus Msg Check error");
LOG_F(ERROR, "DisSys HVBus Msg Check error sum: %d, source checkCode: %d", sum, p->checkCode);
return false;
}
s = *p;
@@ -108,6 +109,7 @@ bool udpComm::getMsgFromBuff(char *m, msg_disHighAVolBusFbMsg &s)
sum = calculateChecksum((unsigned char*)m, sizeof(msg_disHighAVolBusFbMsg), sizeof(cChecksum)) & 0xFF;
if (sum!= p->checkCode) {
sError.push_back("DisSys HVABus Msg Check error");
LOG_F(ERROR, "DisSys HVABus Msg Check error sum: %d, source checkCode: %d", sum, p->checkCode);
return false;
}
s = *p;
@@ -121,6 +123,7 @@ bool udpComm::getMsgFromBuff(char *m, msg_disLowMainBusFbMsg &s)
sum = calculateChecksum((unsigned char*)m, sizeof(msg_disLowMainBusFbMsg), sizeof(cChecksum)) & 0xFF;
if (sum!= p->checkCode) {
sError.push_back("DisSys HVBBus Msg Check error");
LOG_F(ERROR, "DisSys HVBBus Msg Check error sum: %d, source checkCode: %d", sum, p->checkCode);
return false;
}
s = *p;
@@ -135,6 +138,7 @@ bool udpComm::getMsgFromBuff(char *m, msg_disLowBusFbMsg &s)
sum = calculateChecksum((unsigned char*)m, sizeof(msg_disLowBusFbMsg), sizeof(cChecksum)) & 0xFF;
if (sum!= p->checkCode) {
sError.push_back("DisSys LVBus Msg Check error");
LOG_F(ERROR, "DisSys LVBus Msg Check error sum: %d, source checkCode: %d", sum, p->checkCode);
return false;
}
s = *p;
@@ -503,12 +507,22 @@ bool udpComm::sendCcuColCmd(const ccuColCmd cmd)
{
unsigned char* msgBuf;
Checksum cc;
msg_CcuColCmdMsg* msg = new msg_CcuColCmdMsg;
msg_CcuColCmdMsg* msg = new msg_CcuColCmdMsg();
memset(msg, 0, sizeof(msg_CcuColCmdMsg)); // 初始化所有字段为0
msg->header.id = CCU_CMD_ID;
msg->header.start1 = CCU_UDPMSG_START1;
msg->header.start2 = CCU_UDPMSG_START2;
msg->header.length = sizeof(ccuColCmd);
getDate(msg->date.year,msg->date.month,msg->date.day,msg->date.hour,msg->date.minute,msg->date.second,msg->date.milliseconds);
// 确保日期获取成功
if(!getDate(msg->date.year,msg->date.month,msg->date.day,
msg->date.hour,msg->date.minute,msg->date.second,msg->date.milliseconds)) {
LOG_F(ERROR, "Failed to get current date/time");
delete msg;
return false;
}
msg->cmd = cmd;
msgBuf = reinterpret_cast<unsigned char *>(msg);
cc = calculateChecksum(msgBuf,sizeof(msg_CcuColCmdMsg));