修复
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user