X-Git-Url: https://robinkrens.nl/gitweb/?a=blobdiff_plain;f=src%2FRAPacker.py;h=7cc8d46475b4f4844e0f744af80996a170f6d009;hb=e7bccc825b135adb1246a371751e63fab8a9b36f;hp=66523093d30202ff3ac86d329262c83cfebfc48d;hpb=4c098b4eaec6eb16b683f4e3f5152dd522a9817c;p=renesas-ra-flasher diff --git a/src/RAPacker.py b/src/RAPacker.py index 6652309..7cc8d46 100644 --- a/src/RAPacker.py +++ b/src/RAPacker.py @@ -27,9 +27,6 @@ BAU_CMD = 0x34 SIG_CMD = 0x3A ARE_CMD = 0x3B -# These are combined with send command, for example -# STATUS_OK | ERA_CMD == 0x12 -# STATUS_ERR | ERA_CMD = 0x92 STATUS_OK = 0x00 STATUS_ERR = 0x80 @@ -63,7 +60,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,8 +94,10 @@ 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 +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) @@ -135,9 +134,3 @@ def unpack_pkt(data): if (ETX != 0x03): raise Exception(f'Packet ETX error') return message - - -#cmd = pack_command(INQ_CMD, "") -#cmd = pack_command(BAU_CMD, ['0x00','0x1E']) -#cmd = pack_command(IDA_CMD, TESTID) -