- 重命名模式文件;

- 更新适配器参数项;
 - 修改优化器报文函数调用;
 - 添加自定义升级模式标志位;
 - 添加升级包生成流程函数;
This commit is contained in:
何 泽隆
2024-08-27 21:20:10 +08:00
parent b407fe1f27
commit 5cb2a423c6
4 changed files with 36 additions and 15 deletions

View File

@@ -2,7 +2,7 @@ import time
from pathlib import Path
from serial import Serial
from utl import trans_list_to_str
from func_frame import make_frame_dlt645, check_frame_dlt645
from func_frame import make_frame_modbus, check_frame_modbus
modbus_map = {
# 1 - Hex
@@ -150,7 +150,7 @@ class LaminaController:
break
try:
output_text = check_frame_dlt645(frame_recv, block=self.block)
output_text = check_frame_modbus(frame_recv, self.block['data'])
except Exception as e:
print(e)
cnt += 1
@@ -168,7 +168,7 @@ class LaminaController:
self.block['data']['type'] = 'read'
self.block['data']['data_addr'] = daddr
self.block['data']['data_len'] = dlen
frame = make_frame_dlt645(self.block)
frame = make_frame_modbus(self.block['data'])
return self.__transfer_data(frame)
@@ -176,7 +176,7 @@ class LaminaController:
self.block['data']['type'] = 'write_one'
self.block['data']['data_addr'] = daddr
self.block['data']['data_val'] = dval
frame = make_frame_dlt645(self.block)
frame = make_frame_modbus(self.block['data'])
return self.__transfer_data(frame)
@@ -184,7 +184,7 @@ class LaminaController:
self.block['data']['type'] = 'write_dual'
self.block['data']['data_addr'] = daddr
self.block['data']['data_val'] = dval
frame = make_frame_dlt645(self.block)
frame = make_frame_modbus(self.block['data'])
return self.__transfer_data(frame)
@@ -192,7 +192,7 @@ class LaminaController:
self.block['data']['type'] = 'write_str'
self.block['data']['data_addr'] = daddr
self.block['data']['data_val'] = dval
frame = make_frame_dlt645(self.block)
frame = make_frame_modbus(self.block['data'])
return self.__transfer_data(frame)
@@ -207,7 +207,7 @@ class LaminaController:
self.block['data']['file'] = Path(path_bin).read_bytes()
self.block['data']['header_offset'] = 184
# 启动帧
frame_master = bytearray(make_frame_dlt645(self.block))
frame_master = bytearray(make_frame_modbus(self.block['data']))
# 等待擦除完成返回
try_times = 30
@@ -220,7 +220,7 @@ class LaminaController:
try_times -= 1
continue
_, _, self.block["data"]['file_block_size'] = check_frame_dlt645(frame_slave, self.block)
_, _, self.block["data"]['file_block_size'] = check_frame_modbus(frame_slave, self.block['data'])
break
if self.block["data"]['file_block_size'] == 0:
@@ -233,7 +233,7 @@ class LaminaController:
self.block["data"]['step'] = 'trans'
data_remain = len(self.block["data"]['file']) - self.block['data']['header_offset']
while data_remain > 0:
frame_master = bytearray(make_frame_dlt645(self.block))
frame_master = bytearray(make_frame_modbus(self.block['data']))
cnt = 0
while cnt < self.retry:
@@ -250,7 +250,7 @@ class LaminaController:
break
try:
ret = check_frame_dlt645(frame_slave, self.block)
ret = check_frame_modbus(frame_slave, self.block['data'])
except Exception as e:
print(e)
ret = False, 0, 0
@@ -267,7 +267,7 @@ class LaminaController:
# 结束升级
self.block["data"]['step'] = 'end'
frame_master = bytearray(make_frame_dlt645(self.block))
frame_master = bytearray(make_frame_modbus(self.block['data']))
cnt = 0
while cnt < self.retry:
@@ -284,7 +284,7 @@ class LaminaController:
break
try:
ret = check_frame_dlt645(frame_slave, self.block)
ret = check_frame_modbus(frame_slave, self.block['data'])
except Exception as e:
print(e)
ret = False, 0, 0