mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Fixed:protocol checkcode bug.
This commit is contained in:
parent
b1edd64314
commit
19247f0646
|
@ -203,8 +203,12 @@ void McuProtocolTestTool::CheckSerialNumber(const void *buf, const size_t &count
|
|||
}
|
||||
void McuProtocolTestTool::ChecCRC16Code(const void *buf, const size_t &count)
|
||||
{
|
||||
short code = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(memcmp((unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &code, PROTOCOL_CHECK_CODE_LENGTH), 0);
|
||||
short checkCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
checkCode = ntohs(checkCode);
|
||||
}
|
||||
EXPECT_EQ(memcmp((unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &checkCode, PROTOCOL_CHECK_CODE_LENGTH),
|
||||
0);
|
||||
}
|
||||
void McuProtocolTestTool::ResetCheckCode(const void *buf, const size_t &count)
|
||||
{
|
||||
|
@ -375,7 +379,9 @@ bool McuProtocolTestTool::IpcMissionProtocolHandle(std::shared_ptr<LinuxTest> &m
|
|||
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||
LogInfo("Set REPLY_IPC_MISSION_X\n");
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
// askCheckCode = htons(askCheckCode);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
@ -431,6 +437,9 @@ bool McuProtocolTestTool::CutOffPowerSupplyProtocolHandle(std::shared_ptr<LinuxT
|
|||
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||
LogInfo("Set ASK_CUT_OFF_POWER_SUPPLY_X\n");
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
@ -446,7 +455,9 @@ bool McuProtocolTestTool::FeedWatchDogProtocolHandle(std::shared_ptr<LinuxTest>
|
|||
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||
LogInfo("Set ASK_FEED_WATCH_DOG_X\n");
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
// askCheckCode = htons(askCheckCode);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
@ -465,6 +476,9 @@ bool McuProtocolTestTool::FeedingCycleProtocolHandle(std::shared_ptr<LinuxTest>
|
|||
replyCheckCode = htons(replyCheckCode);
|
||||
LogInfo("Set ASK_SET_FEEDING_CYCLE_X, reply data check code = 0x%x\n", replyCheckCode);
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
@ -523,7 +537,9 @@ bool McuProtocolTestTool::SetDataTimeProtocolHandle(std::shared_ptr<LinuxTest> &
|
|||
replyCheckCode = htons(replyCheckCode);
|
||||
LogInfo("Set ASK_SET_DATE_TIME_X, reply data check code = 0x%x\n", replyCheckCode);
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
// askCheckCode = htons(askCheckCode);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
@ -580,7 +596,9 @@ bool McuProtocolTestTool::SetPirSensitivityProtocolHandle(std::shared_ptr<LinuxT
|
|||
replyCheckCode = htons(replyCheckCode);
|
||||
LogInfo("Set ASK_SET_PIR_SENSITIVITY_X, reply data check code = 0x%x\n", replyCheckCode);
|
||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
||||
// askCheckCode = htons(askCheckCode);
|
||||
if (ORDER_LITTLE_ENDIAN == ProtocolHandle::GetByteOrder()) {
|
||||
askCheckCode = ntohs(askCheckCode);
|
||||
}
|
||||
int result = memcmp(
|
||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
||||
EXPECT_EQ(result, 0) << "ask protocol data errer, check code isn't right.";
|
||||
|
|
|
@ -113,7 +113,7 @@ void ProtocolHandle::MallocPacketDataBuff(const void *data, const size_t dataLen
|
|||
memcpy(mProtocolData, &packet, KEY_HEAD_LENGTH);
|
||||
memcpy(mProtocolData + KEY_HEAD_LENGTH, data, dataLength);
|
||||
packet.mCheckCode = calculate_check_sum(mProtocolData, packetLength - CHECK_CODE_LENGTH);
|
||||
// packet.mCheckCode = BigEndianConversion(packet.mCheckCode);
|
||||
packet.mCheckCode = BigEndianConversion(packet.mCheckCode);
|
||||
memcpy(mProtocolData + packetLength - CHECK_CODE_LENGTH, &packet.mCheckCode, CHECK_CODE_LENGTH);
|
||||
mProtocolDataLength = packetLength;
|
||||
ProtocolHandle::PrintHexadecimalData(mProtocolData, mProtocolDataLength, "Make protocol packet:");
|
||||
|
@ -149,7 +149,7 @@ void ProtocolHandle::MakeNoUserDataPacket(const std::shared_ptr<VProtocolParam>
|
|||
BigEndianConversion(packet);
|
||||
memcpy(mProtocolData, &packet, KEY_HEAD_LENGTH);
|
||||
packet.mCheckCode = calculate_check_sum(mProtocolData, packetLength - CHECK_CODE_LENGTH);
|
||||
// packet.mCheckCode = BigEndianConversion(packet.mCheckCode);
|
||||
packet.mCheckCode = BigEndianConversion(packet.mCheckCode);
|
||||
memcpy(mProtocolData + KEY_HEAD_LENGTH, &packet.mCheckCode, CHECK_CODE_LENGTH);
|
||||
mProtocolDataLength = packetLength;
|
||||
ProtocolHandle::PrintHexadecimalData(
|
||||
|
|
Loading…
Reference in New Issue
Block a user