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)
|
void McuProtocolTestTool::ChecCRC16Code(const void *buf, const size_t &count)
|
||||||
{
|
{
|
||||||
short code = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
short checkCode = 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);
|
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)
|
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) {
|
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||||
LogInfo("Set REPLY_IPC_MISSION_X\n");
|
LogInfo("Set REPLY_IPC_MISSION_X\n");
|
||||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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) {
|
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||||
LogInfo("Set ASK_CUT_OFF_POWER_SUPPLY_X\n");
|
LogInfo("Set ASK_CUT_OFF_POWER_SUPPLY_X\n");
|
||||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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) {
|
PROTOCOL_COMMAND_LENGTH) == 0) {
|
||||||
LogInfo("Set ASK_FEED_WATCH_DOG_X\n");
|
LogInfo("Set ASK_FEED_WATCH_DOG_X\n");
|
||||||
short askCheckCode = calculate_check_sum((unsigned char *)buf, count - PROTOCOL_CHECK_CODE_LENGTH);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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);
|
replyCheckCode = htons(replyCheckCode);
|
||||||
LogInfo("Set ASK_SET_FEEDING_CYCLE_X, reply data check code = 0x%x\n", 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);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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);
|
replyCheckCode = htons(replyCheckCode);
|
||||||
LogInfo("Set ASK_SET_DATE_TIME_X, reply data check code = 0x%x\n", 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);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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);
|
replyCheckCode = htons(replyCheckCode);
|
||||||
LogInfo("Set ASK_SET_PIR_SENSITIVITY_X, reply data check code = 0x%x\n", 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);
|
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(
|
int result = memcmp(
|
||||||
(unsigned char *)buf + count - PROTOCOL_CHECK_CODE_LENGTH, &askCheckCode, PROTOCOL_CHECK_CODE_LENGTH);
|
(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.";
|
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, &packet, KEY_HEAD_LENGTH);
|
||||||
memcpy(mProtocolData + KEY_HEAD_LENGTH, data, dataLength);
|
memcpy(mProtocolData + KEY_HEAD_LENGTH, data, dataLength);
|
||||||
packet.mCheckCode = calculate_check_sum(mProtocolData, packetLength - CHECK_CODE_LENGTH);
|
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);
|
memcpy(mProtocolData + packetLength - CHECK_CODE_LENGTH, &packet.mCheckCode, CHECK_CODE_LENGTH);
|
||||||
mProtocolDataLength = packetLength;
|
mProtocolDataLength = packetLength;
|
||||||
ProtocolHandle::PrintHexadecimalData(mProtocolData, mProtocolDataLength, "Make protocol packet:");
|
ProtocolHandle::PrintHexadecimalData(mProtocolData, mProtocolDataLength, "Make protocol packet:");
|
||||||
|
@ -149,7 +149,7 @@ void ProtocolHandle::MakeNoUserDataPacket(const std::shared_ptr<VProtocolParam>
|
||||||
BigEndianConversion(packet);
|
BigEndianConversion(packet);
|
||||||
memcpy(mProtocolData, &packet, KEY_HEAD_LENGTH);
|
memcpy(mProtocolData, &packet, KEY_HEAD_LENGTH);
|
||||||
packet.mCheckCode = calculate_check_sum(mProtocolData, packetLength - CHECK_CODE_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);
|
memcpy(mProtocolData + KEY_HEAD_LENGTH, &packet.mCheckCode, CHECK_CODE_LENGTH);
|
||||||
mProtocolDataLength = packetLength;
|
mProtocolDataLength = packetLength;
|
||||||
ProtocolHandle::PrintHexadecimalData(
|
ProtocolHandle::PrintHexadecimalData(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user