X-Git-Url: https://robinkrens.nl/gitweb/?a=blobdiff_plain;f=src%2FRAPacker.py;h=52fa9fd57e4be8b5ad34a2cd0fd1dd947f108bde;hb=5bc6b530d89045f25e246d471fbb7deb70e7f10c;hp=8480267299d6759d7512455f946124fd0dfc6d0e;hpb=f20539bf17d3de8e0ab56d834f665eeea4813988;p=renesas-ra-flasher diff --git a/src/RAPacker.py b/src/RAPacker.py index 8480267..52fa9fd 100644 --- a/src/RAPacker.py +++ b/src/RAPacker.py @@ -63,7 +63,7 @@ TESTID = [ def calc_sum(cmd, data): data_len = len(data) - lnh = data_len + 1 & 0xFF00 + lnh = (data_len + 1 & 0xFF00) >> 8 lnl = data_len + 1 & 0x00FF res = lnh + lnl + cmd for i in range(data_len): @@ -97,9 +97,11 @@ def pack_command(cmd, data): return fmt # format of data packet is [SOD|LNH|LNL|RES|DAT|SUM|ETX] -def pack_pkt(res, data): - SOD = 0x81 - if (len(data) >= 1024): +def pack_pkt(res, data, ack=False): + SOD = 0x01 # TODO: check if 0x81 header needed + if ack: + SOD = 0x81 + if (len(data) > 1024): raise Exception(f'Data packet too large, data length is {DATA_LEN} (>1024)') LNH, LNL, SUM = calc_sum(int(res), data) if not isinstance(data, bytes):