uint16_t frameHandler::CalculateCRC(uint8_t* ptrBuffer, int32_t size) {
uint16_t crc = 0;
uint32_t x = 0;
uint8_t i;
while (--size >= 0){
crc = crc ^ (int)ptrBuffer[x++] << 8;
for (i = 0; i < 8; ++i){
if (crc & 0x8000) crc = crc << 1 ^ 0x1021; // CCITT POLYNOMIAL
else crc = crc << 1;
}
}
return crc;
}