更新适配器生成流程;
简化适配器升级流程;
This commit is contained in:
@@ -3,6 +3,7 @@ from pathlib import Path
|
|||||||
from serial import Serial
|
from serial import Serial
|
||||||
from tools.ByteConv import trans_list_to_str
|
from tools.ByteConv import trans_list_to_str
|
||||||
from func_frame import make_frame_dlt645, check_frame_dlt645
|
from func_frame import make_frame_dlt645, check_frame_dlt645
|
||||||
|
from func_upgrade import GeneratePackage_SLCP101_p460
|
||||||
|
|
||||||
modbus_map = {
|
modbus_map = {
|
||||||
# 1 - Hex
|
# 1 - Hex
|
||||||
@@ -349,12 +350,26 @@ def test_communication(time_out=2):
|
|||||||
print(f"Success Rate: {log_success / (log_success + log_failed) * 100}%")
|
print(f"Success Rate: {log_success / (log_success + log_failed) * 100}%")
|
||||||
dev_lamina.flag_print = saveconfig_print
|
dev_lamina.flag_print = saveconfig_print
|
||||||
|
|
||||||
|
def make_Pakeage(fp: Path):
|
||||||
|
""" 生成升级包 """
|
||||||
|
|
||||||
|
hex_update = fp
|
||||||
|
file_package = fp.parent / f'{hex_update.stem}.dat'
|
||||||
|
file_update_bin = fp.parent / f'{hex_update.stem}.bin'
|
||||||
|
|
||||||
|
data_package, data_update_bin = GeneratePackage_SLCP101_p460(hex_update)
|
||||||
|
|
||||||
|
file_package.write_bytes(data_package)
|
||||||
|
file_update_bin.write_bytes(data_update_bin)
|
||||||
|
|
||||||
|
return file_package
|
||||||
|
|
||||||
if __name__=='__main__':
|
if __name__=='__main__':
|
||||||
mode_config = {
|
mode_config = {
|
||||||
"Log": {'com_name': None,
|
"Log": {'com_name': None,
|
||||||
# 'addr_645': [0x01, 0x00, 0x00, 0x00, 0x00, 0x40],
|
# 'addr_645': [0x01, 0x00, 0x00, 0x00, 0x00, 0x40],
|
||||||
},
|
},
|
||||||
"Debug": {'com_name': 'COM11', 'baudrate': 115200, 'parity': 'N', 'bytesize': 8, 'stopbits': 1,
|
"Debug": {'com_name': 'COM8', 'baudrate': 115200, 'parity': 'N', 'bytesize': 8, 'stopbits': 1,
|
||||||
# 'addr_645': [0x01, 0x02, 0x03, 0x04, 0x05, 0x06],
|
# 'addr_645': [0x01, 0x02, 0x03, 0x04, 0x05, 0x06],
|
||||||
'frame_print': True,
|
'frame_print': True,
|
||||||
'time_out': 0.1, 'retry': 1, 'retry_sub': 10},
|
'time_out': 0.1, 'retry': 1, 'retry_sub': 10},
|
||||||
@@ -364,7 +379,6 @@ if __name__=='__main__':
|
|||||||
'time_out': 0.5, 'retry': 3, 'retry_sub': 10},
|
'time_out': 0.5, 'retry': 3, 'retry_sub': 10},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dev_lamina = LaminaAdapter(**mode_config['Debug'])
|
dev_lamina = LaminaAdapter(**mode_config['Debug'])
|
||||||
|
|
||||||
dev_lamina.frame_read(0x0100, 0x20)
|
dev_lamina.frame_read(0x0100, 0x20)
|
||||||
@@ -458,10 +472,14 @@ if __name__=='__main__':
|
|||||||
dev_lamina.frame_read(0x0170, 0x30)
|
dev_lamina.frame_read(0x0170, 0x30)
|
||||||
|
|
||||||
if not hasattr(__builtins__,"__IPYTHON__"):
|
if not hasattr(__builtins__,"__IPYTHON__"):
|
||||||
path_bin = Path(r"D:\WorkSpace\UserTool\SelfTool\FrameParser\test\p460_o1\result\lamina_optimizer_t1.dat")
|
# file_package = 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_240520_0000_T1.11.bin")
|
||||||
# 生产镜像版本
|
# 工程-即时转换
|
||||||
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240525_1800_V1.12.bin")
|
file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\lamina_adapter\Debug\lamina_adapter.hex")
|
||||||
|
if not file_hex.exists():
|
||||||
|
raise Exception("工程编译目标文件不存在.")
|
||||||
|
file_package = make_Pakeage(file_hex)
|
||||||
|
|
||||||
# 江苏发货产品灌装版本
|
# 江苏发货产品灌装版本
|
||||||
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240603_2100_V1.18.bin")
|
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240603_2100_V1.18.bin")
|
||||||
|
|
||||||
@@ -476,7 +494,7 @@ if __name__=='__main__':
|
|||||||
ret = dev_lamina.frame_read(0x0100, 0x20)
|
ret = dev_lamina.frame_read(0x0100, 0x20)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
dev_lamina.frame_update(path_bin)
|
dev_lamina.frame_update(file_package)
|
||||||
|
|
||||||
time.sleep(6)
|
time.sleep(6)
|
||||||
|
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ def GenerateImage_SLCP001_p4a0(path_boot: Path, path_main: Path, path_back: Path
|
|||||||
return bytearray(Image), main_header, back_header
|
return bytearray(Image), main_header, back_header
|
||||||
|
|
||||||
|
|
||||||
def GenerateImage_SLCP001_p460(path_boot: Path, path_main: Path, path_back: Path):
|
def GenerateImage_SLCP101_p460(path_boot: Path, path_main: Path, path_back: Path):
|
||||||
""" 叠光适配器-460平台版本 镜像生成 """
|
""" 叠光适配器-460平台版本 镜像生成 """
|
||||||
config = {
|
config = {
|
||||||
'prod_type': [0x45, 0x00], # 产品类型
|
'prod_type': [0x45, 0x00], # 产品类型
|
||||||
@@ -374,12 +374,12 @@ def GenerateImage_SLCP001_p460(path_boot: Path, path_main: Path, path_back: Path
|
|||||||
return bytearray(Image), main_header, back_header
|
return bytearray(Image), main_header, back_header
|
||||||
|
|
||||||
|
|
||||||
def GeneratePackage_SLCP001_p460(path_hex: Path):
|
def GeneratePackage_SLCP101_p460(path_hex: Path):
|
||||||
""" 叠光适配器-460平台版本 生成升级包 """
|
""" 叠光适配器-460平台版本 生成升级包 """
|
||||||
config = {
|
config = {
|
||||||
'prod_type': [0x45, 0x00], # 产品类型
|
'prod_type': [0x45, 0x00], # 产品类型
|
||||||
'method_compress': False, # 文件压缩
|
'method_compress': False, # 文件压缩
|
||||||
'prog_id': list(b"SLCP001"), # 程序识别号
|
'prog_id': list(b"SLCP101"), # 程序识别号
|
||||||
'prog_type': 'app', # 程序类型
|
'prog_type': 'app', # 程序类型
|
||||||
'area_code': [0x00, 0x00], # 地区
|
'area_code': [0x00, 0x00], # 地区
|
||||||
}
|
}
|
||||||
@@ -411,7 +411,7 @@ def GeneratePackage_SLCP001_p460(path_hex: Path):
|
|||||||
|
|
||||||
|
|
||||||
def GenerateImage_DLSY001_p460(path_boot: Path, path_main: Path, path_back: Path):
|
def GenerateImage_DLSY001_p460(path_boot: Path, path_main: Path, path_back: Path):
|
||||||
""" 叠光适配器-460平台版本 镜像生成 """
|
""" 叠光优化器-460平台版本 镜像生成 """
|
||||||
config = {
|
config = {
|
||||||
'prod_type': [0x45, 0x00], # 产品类型
|
'prod_type': [0x45, 0x00], # 产品类型
|
||||||
'method_compress': False, # 文件压缩
|
'method_compress': False, # 文件压缩
|
||||||
@@ -466,7 +466,7 @@ def GenerateImage_DLSY001_p460(path_boot: Path, path_main: Path, path_back: Path
|
|||||||
|
|
||||||
|
|
||||||
def GeneratePackage_DLSY001_p460(path_hex: Path):
|
def GeneratePackage_DLSY001_p460(path_hex: Path):
|
||||||
""" 叠光适配器-460平台版本 生成升级包 """
|
""" 叠光优化器-460平台版本 生成升级包 """
|
||||||
config = {
|
config = {
|
||||||
'prod_type': [0x45, 0x00], # 产品类型
|
'prod_type': [0x45, 0x00], # 产品类型
|
||||||
'method_compress': False, # 文件压缩
|
'method_compress': False, # 文件压缩
|
||||||
@@ -616,13 +616,13 @@ def Process1():
|
|||||||
hex_update = root / r"lamina_adapter_t1.hex"
|
hex_update = root / r"lamina_adapter_t1.hex"
|
||||||
|
|
||||||
file_image = result / f'{hex_main.stem[:-6]}_ROM.bin'
|
file_image = result / f'{hex_main.stem[:-6]}_ROM.bin'
|
||||||
file_main_header = result / 'SLCP001_header_main.bin'
|
file_main_header = result / 'SLCP101_header_main.bin'
|
||||||
file_back_header = result / 'SLCP001_header_back.bin'
|
file_back_header = result / 'SLCP101_header_back.bin'
|
||||||
file_package = result / f'{hex_update.stem}.dat'
|
file_package = result / f'{hex_update.stem}.dat'
|
||||||
file_bin = result / f'{hex_update.stem}.bin'
|
file_bin = result / f'{hex_update.stem}.bin'
|
||||||
|
|
||||||
data_bins = GenerateImage_SLCP001_p460(hex_boot, hex_main, hex_back)
|
data_bins = GenerateImage_SLCP101_p460(hex_boot, hex_main, hex_back)
|
||||||
data_package, data_bins = GeneratePackage_SLCP001_p460(hex_update)
|
data_package, data_bins = GeneratePackage_SLCP101_p460(hex_update)
|
||||||
|
|
||||||
file_image.write_bytes(data_bins[0].copy())
|
file_image.write_bytes(data_bins[0].copy())
|
||||||
file_main_header.write_bytes(data_bins[1].copy())
|
file_main_header.write_bytes(data_bins[1].copy())
|
||||||
|
|||||||
Reference in New Issue
Block a user