积累更新;
This commit is contained in:
@@ -256,12 +256,14 @@ def find_frame_modbus(buffer, address, frame_defines: dict=frame_modbus):
|
||||
for i in range(len_buffer):
|
||||
if buffer[i] != address:
|
||||
continue
|
||||
if buffer[i+1] not in frame_defines.keys():
|
||||
if (buffer[i+1] & 0x7F) not in frame_defines.keys():
|
||||
continue
|
||||
|
||||
frame_define = frame_defines[buffer[i+1]]
|
||||
frame_define = frame_defines[buffer[i+1] & 0x7F]
|
||||
j = frame_define[0]
|
||||
if frame_define[1] == 0:
|
||||
if buffer[i+1] & 0x80:
|
||||
j = 5
|
||||
elif frame_define[1] == 0:
|
||||
pass
|
||||
elif frame_define[1] == 1:
|
||||
j += buffer[i+frame_define[2]]
|
||||
@@ -286,9 +288,9 @@ def find_frame_dlt645(buffer, address: list):
|
||||
|
||||
pos_frame, len_frame = 0, 0
|
||||
for i in range(len_buffer):
|
||||
if buffer[i] != 0x68 or buffer[i+8] != 0x68:
|
||||
if buffer[i] != 0x68 or buffer[i+7] != 0x68:
|
||||
continue
|
||||
if buffer[i+1] != bytearray(address):
|
||||
if address[0] != 0xAA and buffer[i+1:i+7] == bytes(address):
|
||||
continue
|
||||
|
||||
j = buffer[i+9] + 12
|
||||
|
||||
Reference in New Issue
Block a user