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):
# format of data packet is [SOD|LNH|LNL|RES|DAT|SUM|ETX]
def pack_pkt(res, data):
- SOD = 0x81
- if (len(data) >= 1024):
+ SOD = 0x01 # TODO: check if 0x81 header needed
+ 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):