tests: add/modify ack=True test
[renesas-ra-flasher] / src / RAPacker.py
index 6652309..7cc8d46 100644 (file)
@@ -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)
-