def verify(client, addr, length): client.setMta(addr) cs = client.buildChecksum(length) print("CS: {:08X}".format(cs.checksum)) client.setMta(addr) data = client.upload(length) cc = checksum.check(data, cs.checksumType) print("CS: {:08X}".format(cc))
def verify(self, addr, length): """Convenience function for verification of a data-transfer from slave to master (Not part of the XCP Specification). Parameters ---------- addr : int length : int Returns ------- bool """ self.setMta(addr) cs = self.buildChecksum(length) self.logger.debug("BuildChecksum return'd: 0x{:08X} [{}]".format( cs.checksum, cs.checksumType)) self.setMta(addr) data = self.fetch(length) cc = checksum.check(data, cs.checksumType) self.logger.debug("Our checksum : 0x{:08X}".format(cc)) return cs.checksum == cc
def testAdd44(): assert checksum.check(TEST, "XCP_ADD_44") == 0x140C03F8
def testAdd24(): assert checksum.check(TEST, "XCP_ADD_24") == 0x00071800
def testAdd22(): assert checksum.check(TEST, "XCP_ADD_22") == 0x1800
def testAdd14(): assert checksum.check(TEST, "XCP_ADD_14") == 0x00000F10
def testAdd12(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_12"), 0x0F10)
def testCrc32(): assert checksum.check(TEST, "XCP_CRC_32") == 0x89CD97CE
def testCrc16Ccitt(self): self.assertEqual(checksum.check(TEST, "XCP_CRC_16_CITT"), 0x9D50)
def testCrc16(self): self.assertEqual(checksum.check(TEST, "XCP_CRC_16"), 0xC76A)
def testAdd44(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_44"), 0x140C03F8)
def testAdd24(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_24"), 0x00071800)
def testAdd22(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_22"), 0x1800)
def testAdd14(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_14"), 0x00000F10)
def testCrc16(): assert checksum.check(TEST, "XCP_CRC_16") == 0xC76A
def testCrc16Ccitt(): assert checksum.check(TEST, "XCP_CRC_16_CITT") == 0x9D50
def testCrc32(self): self.assertEqual(checksum.check(TEST, "XCP_CRC_32"), 0x89CD97CE)
def testUserDefined(): with pytest.raises(NotImplementedError): checksum.check(TEST, "XCP_USER_DEFINED")
def testAdd11(): assert checksum.check(TEST, "XCP_ADD_11") == 0x10
def testAdd12(): assert checksum.check(TEST, "XCP_ADD_12") == 0x0F10
def testAdd11(self): self.assertEqual(checksum.check(TEST, "XCP_ADD_11"), 0x10)