From a9c3ea3c990f216c0e2d87318ebf8a7f8758919c Mon Sep 17 00:00:00 2001 From: Reiner Rottmann Date: Fri, 26 Feb 2021 16:51:03 +0100 Subject: [PATCH 1/3] Code cleanup. Removed TODOs. --- adafruit_atecc/adafruit_atecc.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/adafruit_atecc/adafruit_atecc.py b/adafruit_atecc/adafruit_atecc.py index 129c5f8..b55603d 100755 --- a/adafruit_atecc/adafruit_atecc.py +++ b/adafruit_atecc/adafruit_atecc.py @@ -62,10 +62,6 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): _I2C_ADDR = 0x60 _REG_ATECC_ADDR = _convert_i2c_addr_to_atecc_addr(i2c_addr=_I2C_ADDR) -# TODO: Verify that _REG_ATECC_ADDR is still 0xC0 -# TODO: Remove assertion test afterwards -assert _REG_ATECC_ADDR == 0xC0 - _REG_ATECC_DEVICE_ADDR = _REG_ATECC_ADDR >> 1 # Version Registers @@ -100,15 +96,6 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): OP_WRITE: const(26), } -CFG_TLS = b"\x01#\x00\x00\x00\x00P\x00\x00\x00\x00\x00\x00\xc0q\x00 \ - \xc0\x00U\x00\x83 \x87 \x87 \x87/\x87/\x8f\x8f\x9f\x8f\xaf \ - \x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \ - \xaf\x8f\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00 \ - \x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \ - \xff\xff\xff\xff\x00\x00UU\xff\xff\x00\x00\x00\x00\x00\x003 \ - \x003\x003\x003\x003\x00\x1c\x00\x1c\x00\x1c\x00<\x00<\x00<\x00< \ - \x00<\x00<\x00<\x00\x1c\x00" - """ Configuration Zone Bytes @@ -151,12 +138,6 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): ) ) -# TODO: Verify that both representations are identical -# TODO: Decide whether to use alternate representation of config bytes -# TODO: Remove assertion tests -assert CFG_TLS == CFG_TLS_HEX -assert bytearray(CFG_TLS)[16] == 0x20 - # Convert I2C address to config byte 16 and update CFG_TLS _CFG_BYTES = bytearray(CFG_TLS) _CFG_BYTE_16 = hex(_I2C_ADDR << 1) From 79d8fb08888e36786433b8fbf2c25af489a0f5d4 Mon Sep 17 00:00:00 2001 From: Reiner Rottmann Date: Fri, 26 Feb 2021 20:43:59 +0100 Subject: [PATCH 2/3] Validated concat of bytes and fixed errors. --- adafruit_atecc/adafruit_atecc.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/adafruit_atecc/adafruit_atecc.py b/adafruit_atecc/adafruit_atecc.py index b55603d..d6e0208 100755 --- a/adafruit_atecc/adafruit_atecc.py +++ b/adafruit_atecc/adafruit_atecc.py @@ -54,7 +54,7 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): - int(i2c_addr, 16) + int(hex(i2c_addr), 16) return i2c_addr << 1 @@ -119,7 +119,7 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): Byte 16: 6A 106 0110 1010 Default 7 bit I2C Address: 0x6A>>1: 0x35 ATECC608A-TNGTLS Byte 16: 20 32 0010 0000 Default 7 bit I2C Address: 0x20>>1: 0x10 ATECC608A-UNKNOWN """ -CFG_TLS_HEX = bytes( +CFG_TLS = bytes( bytearray.fromhex( "01 23 00 00 00 00 50 00 00 00 00 00 00 c0 71 00" "20 20 20 20 20 20 20 20 20 20 20 20 20 c0 00 55" @@ -139,10 +139,10 @@ def _convert_i2c_addr_to_atecc_addr(i2c_addr=0x60): ) # Convert I2C address to config byte 16 and update CFG_TLS -_CFG_BYTES = bytearray(CFG_TLS) -_CFG_BYTE_16 = hex(_I2C_ADDR << 1) -_CFG_BYTES[16] = ord(_CFG_BYTE_16) -CFG_TLS = bytes(_CFG_BYTES) +_CFG_BYTES_LIST = list(bytearray(CFG_TLS)) +_CFG_BYTE_16 = bytes(bytearray.fromhex(hex(_I2C_ADDR << 1).replace("0x", ""))) +_CFG_BYTES_LIST_MOD = _CFG_BYTES_LIST[0:16] + list(_CFG_BYTE_16) + _CFG_BYTES_LIST[17:] +CFG_TLS = bytes(_CFG_BYTES_LIST_MOD) class ATECC: @@ -300,7 +300,7 @@ def nonce(self, data, mode=0, zero=0x0000): time.sleep(1 / 1000) if mode == 0x03: assert ( - calculated_nonce[0] == 0x00 + calculated_nonce[0] == 0x00 ), "Incorrectly calculated nonce in pass-thru mode" self.idle() return calculated_nonce @@ -470,7 +470,7 @@ def write_config(self, data): if i == 84: # can't write continue - self._write(0, i // 4, data[i : i + 4]) + self._write(0, i // 4, data[i: i + 4]) def _write(self, zone, address, buffer): self.wakeup() From 58ff16a096742469ebef469b5ba1fcb22ac6a44c Mon Sep 17 00:00:00 2001 From: Reiner Rottmann Date: Fri, 26 Feb 2021 20:58:31 +0100 Subject: [PATCH 3/3] Make black happy. --- adafruit_atecc/adafruit_atecc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_atecc/adafruit_atecc.py b/adafruit_atecc/adafruit_atecc.py index d6e0208..ec4d6e0 100755 --- a/adafruit_atecc/adafruit_atecc.py +++ b/adafruit_atecc/adafruit_atecc.py @@ -300,7 +300,7 @@ def nonce(self, data, mode=0, zero=0x0000): time.sleep(1 / 1000) if mode == 0x03: assert ( - calculated_nonce[0] == 0x00 + calculated_nonce[0] == 0x00 ), "Incorrectly calculated nonce in pass-thru mode" self.idle() return calculated_nonce @@ -470,7 +470,7 @@ def write_config(self, data): if i == 84: # can't write continue - self._write(0, i // 4, data[i: i + 4]) + self._write(0, i // 4, data[i : i + 4]) def _write(self, zone, address, buffer): self.wakeup()