积累更新;

This commit is contained in:
何 泽隆
2024-09-24 11:19:49 +08:00
parent 4897d17d11
commit 6ae08d96e3
4 changed files with 347 additions and 55 deletions

View File

@@ -139,6 +139,7 @@ class LaminaAdapter:
'data_define': modbus_map,
},
}
self.output = {}
def __transfer_data(self, frame):
""" 报文数据传输 """
@@ -168,6 +169,13 @@ class LaminaAdapter:
cnt += 1
continue
print(output_text)
for line in output_text.split('\n'):
line = line.strip()
line_info = line.split('\t')
if line_info[0] == '0x0100':
self.output['version'] = line_info[2].rstrip('\x00')
elif line_info[0] == '0x0082':
self.output['address'] = line_info[2].rstrip('\x00')
break
if self.flag_print:
@@ -450,18 +458,38 @@ if __name__=='__main__':
dev_lamina.frame_read(0x0170, 0x30)
if not hasattr(__builtins__,"__IPYTHON__"):
path_bin = Path(r"D:\WorkSpace\UserTool\SelfTool\FrameParser\test\p460\result\lamina_adapter_t1.dat")
path_bin = Path(r"D:\WorkSpace\UserTool\SelfTool\FrameParser\test\p460_o1\result\lamina_optimizer_t1.dat")
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240520_0000_T1.11.bin")
# 生产镜像版本
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240525_1800_V1.12.bin")
# 江苏发货产品灌装版本
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240603_2100_V1.18.bin")
version = "DLSY001_240911_1600_V1.01"
addr = [0x24, 0x09, 0x12, 0x00, 0x00, 0x00]
while True:
""" 自动检测升级流程 """
ret = False
while not ret or ('version' not in dev_lamina.output.keys()) or (version == dev_lamina.output['version']):
dev_lamina.frame_read(0x82, 3)
ret = dev_lamina.frame_read(0x0100, 0x20)
time.sleep(1)
dev_lamina.frame_update(path_bin)
time.sleep(6)
dev_lamina.frame_read(0x0100, 0x20)
ret = dev_lamina.frame_read(0x0100, 0x20)
if ret and (version == dev_lamina.output['version']):
dev_lamina.frame_write_one(0x52, 0x01)
print(f"address: {' '.join(map(lambda x: ('000' + hex(x)[2:])[-2:], addr))}")
dev_lamina.frame_write_str(0x82, addr)
dev_lamina.frame_read(0x82, 3)
addr[5] += 1
if addr[5] & 0x0F >= 10:
addr[5] += 0x10 - 10