def test_hw_crc8_calculate_msb_xor(self): data = 0x0D00C0F0FFFFFF dataSize = 56 poly = 0x1D xorOut = 0x8F bytes_list = convert_to_msb_list(data, dataSize / 8) calc_crc = hw_crc8_calculate(bytes_list, poly, 0x00, xorOut) self.assertEqual(calc_crc, 0x90)
def test_hw_crc8_calculate_3_reverse(self): data = 0x000300 dataSize = 24 poly = 0x1BF poly = reverse_number(poly, 8) bytes_list = convert_to_lsb_list(data, dataSize / 8) calc_crc = hw_crc8_calculate(bytes_list, poly, 0x00, 0x00) calc_crc = reverse_number(calc_crc, 8) self.assertEqual(calc_crc, 0x50) ## 80
def test_hw_crc8_calculate_1_reverse(self): data = 0x12 dataSize = 8 poly = 0xBF poly = reverse_number(poly, 8) bytes_list = convert_to_lsb_list(data, dataSize / 8) calc_crc = hw_crc8_calculate(bytes_list, poly, 0x00, 0x00) calc_crc = reverse_number(calc_crc, 8) self.assertEqual(calc_crc, 0x3F) ## 63
def test_hw_crc8_calculate_msb(self): data = 0x0D00C0F0FFFFFF dataSize = 56 poly = 0x1D xorOut = 0x00 ## 0x0D -- 0b 0000 1101 ## 0xB0 -- 0b 1011 0000 bytes_list = convert_to_msb_list(data, dataSize / 8) self.assertEqual(bytes_list[0], 0x0D) calc_crc = hw_crc8_calculate(bytes_list, poly, 0x00, xorOut) self.assertEqual(calc_crc, 0x1F)
def test_hw_crc8_calculate_param_reflect(self): data = 0x030201 dataSize = 24 poly = 0x1BF msb_bytes_list = convert_to_msb_list(data, dataSize / 8) param_crc = hw_crc8_calculate_param(msb_bytes_list, poly, 0x00, 0x00, False, True) self.assertEqual(param_crc, 119) ## check relation reflect_bits_list(msb_bytes_list) calc_crc = hw_crc8_calculate(msb_bytes_list, poly, 0x00, 0x00) self.assertEqual(param_crc, calc_crc)
def test_hw_crc8_calculate_param_reverse(self): data = 0x030201 dataSize = 24 poly = 0x1BF msb_bytes_list = convert_to_msb_list(data, dataSize / 8) param_crc = hw_crc8_calculate_param(msb_bytes_list, poly, 0x00, 0x00, True, False) self.assertEqual(param_crc, 68) ## check relation msb_bytes_list.reverse() calc_crc = hw_crc8_calculate(msb_bytes_list, poly, 0x00, 0x00) self.assertEqual(param_crc, calc_crc)
def test_hw_crc8_calculate(self): bytes_list = [0xFF, 0xFF, 0xFF, 0xFF] crc = hw_crc8_calculate(bytes_list, 0xFF, 0x00, 0x00) self.assertEqual(crc, 240)