diff --git a/src/IRIS_Method.c b/src/IRIS_Method.c index 518f514..929ac6c 100644 --- a/src/IRIS_Method.c +++ b/src/IRIS_Method.c @@ -28,7 +28,7 @@ int32_t IRIS_Protocol_Pack(uint8_t Command,uint16_t LenthofIn, uint8_t *BufferIn { memcpy(&PackData[5],BufferIn,LenthofIn); } - uint16_t CRC = IRIS_calcCRC(PackData, LenthofIn+5); + uint16_t CRC = IRIS_calcCRC(PackData+3, LenthofIn+5); PackData[LenthofIn+5] = CRC & 0xFF; PackData[LenthofIn+6] = (CRC >> 8) & 0xFF; return LenthofIn+7; @@ -57,7 +57,7 @@ int32_t IRIS_STM32_Protocol_Unpack(uint8_t *PackData, uint16_t LenthofIn, uint8_ { return ERROR_NOT_ENOUGH_DATA; } - uint16_t CRC = IRIS_calcCRC(PackData, LenthofOut+5); + uint16_t CRC = IRIS_calcCRC(PackData+3, LenthofOut+5); if(CRC != (PackData[LenthofOut+6] + (PackData[LenthofOut+5] << 8))) { return ERROR_CRC; @@ -92,7 +92,7 @@ int32_t IRIS_Protocol_Unpack(uint8_t *PackData, uint16_t LenthofIn, uint8_t Comm { return ERROR_NOT_ENOUGH_DATA; } - uint16_t CRC = IRIS_calcCRC(PackData, LenthofOut+5); + uint16_t CRC = IRIS_calcCRC(PackData+3, LenthofOut+5); if(CRC != (PackData[LenthofOut+6] + (PackData[LenthofOut+5] << 8))) { return ERROR_CRC; @@ -154,7 +154,7 @@ int32_t IRIS_Check_Data_Valid(uint8_t *PackData, uint16_t LenthofIn) { return ERROR_NOT_ENOUGH_DATA; } - uint16_t CRC = IRIS_calcCRC(PackData, LenthofOut+5); + uint16_t CRC = IRIS_calcCRC(PackData+3, LenthofOut+5); if(CRC != (PackData[LenthofOut+6] + (PackData[LenthofOut+5] << 8))) { return ERROR_CRC;