diff --git a/ReadMe.txt b/ReadMe.txt index 908e81a..83c1529 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -111,4 +111,6 @@ 调整服务器文件列表显示,服务器文件夹显示中文别名 2023.11.6 注码工具更新雷管厂企业代码 +2023.11.14 + updata_ssh.py 添加jwt模块程序文件下载 diff --git a/coder_2ch/prottcp.py b/coder_2ch/prottcp.py index 93405ed..569c445 100644 --- a/coder_2ch/prottcp.py +++ b/coder_2ch/prottcp.py @@ -387,10 +387,9 @@ class protu(QObject): length=data[8]|(data[9]<<8)|(data[10]<<16)|(data[11]<<24) self.num_to_recv=5+length+2 if(self.num_to_recv>0 and self.num_to_recv==len(data)): + # print("recv",data.hex(",")) t=self.decode(data) - self.recv_data+=t - # print("recv",t.hex(",")) self.recv_signal.emit(self.cmd,t,self.str_err) # self.send_file_next(self.cmd,t,self.str_err) # print("sent signal---") @@ -400,7 +399,9 @@ class protu(QObject): def send(self,cmd:int,data:bytearray): self.cmd=cmd self.cmd_no+=1 - self.ser.write(self.encode(data)) + d=self.encode(data) + # print("send",d.hex(",")) + self.ser.write(d) def send_str(self,txt:str): self.ser.write(txt.encode("utf-8")) def start_recv(self): diff --git a/updata/updata.py b/updata/updata.py index 1dc71dc..459e4c4 100644 --- a/updata/updata.py +++ b/updata/updata.py @@ -33,11 +33,11 @@ QWidget { class updata_dlg(QWidget): def __init__(self): QWidget.__init__(self) - self.resize(870, 430) + self.resize(930, 430) self.setStyleSheet (_QSS) self.tab_widget=QTabWidget(self) self.setWindowTitle("设备软件升级维护工具") - self.tab_widget.setGeometry(QRect(0,0,870,430)) + self.tab_widget.setGeometry(QRect(0,0,930,430)) self.widget_ssh=updata_ssh.updata_dlg() self.widget_uart=updata_uart.updata_dlg() self.tab_widget.setTabPosition(QTabWidget.TabPosition.North) diff --git a/updata/updata_ssh.py b/updata/updata_ssh.py index 32b04cb..2acd41b 100644 --- a/updata/updata_ssh.py +++ b/updata/updata_ssh.py @@ -114,7 +114,7 @@ class updata_dlg(QWidget): def __init__(self): QWidget.__init__(self) self.widget = self - self.widget.resize(870, 410) + self.widget.resize(900, 410) self.widget.setWindowTitle("批检仪程序升级") self.widget.setWindowFlags(Qt.WindowType.WindowStaysOnTopHint) self.addrs="" @@ -130,6 +130,7 @@ class updata_dlg(QWidget): self.dhcp_but_init() self.console_but_init() self.settime_but_init() + self.upjwt_but_init() # self.restart_but_init() self.cmd_but_init() self.refresh_but_init() @@ -256,7 +257,7 @@ class updata_dlg(QWidget): def dhcp_but_init(self): self.dhcp_but = QPushButton(self.widget) self.dhcp_but.setObjectName(u"dhcp_but") - self.dhcp_but.setGeometry(QRect(750, 60, 93, 28)) + self.dhcp_but.setGeometry(QRect(750, 60, 150, 28)) self.dhcp_but.setText("打开DHCP") self.dhcp_but.clicked.connect(self.dhcp_but_clicked) self.dhcp_but.setToolTip("如果没有搜索到从机,则打开DHCP服务器。") @@ -265,7 +266,7 @@ class updata_dlg(QWidget): def console_but_init(self): self.console_but = QPushButton(self.widget) self.console_but.setObjectName(u"console_but") - self.console_but.setGeometry(QRect(750, 100, 93, 28)) + self.console_but.setGeometry(QRect(750, 100, 150, 28)) self.console_but.setText("串口控制台") self.console_but.clicked.connect(self.console_but_clicked) self.console_but.setToolTip("通过设备的串口控制台升级程序,这种方式需要使用到U盘。") @@ -274,11 +275,20 @@ class updata_dlg(QWidget): def settime_but_init(self): self.settime_but = QPushButton(self.widget) self.settime_but.setObjectName(u"settime_but") - self.settime_but.setGeometry(QRect(750, 140, 93, 28)) + self.settime_but.setGeometry(QRect(750, 140, 150, 28)) self.settime_but.setText("同步时间") self.settime_but.clicked.connect(self.settime_but_clicked) self.settime_but.setToolTip("同步主板时间。") + # 初始化升级jwt + def upjwt_but_init(self): + self.upjwt_but = QPushButton(self.widget) + self.upjwt_but.setObjectName(u"settime_but") + self.upjwt_but.setGeometry(QRect(750, 180, 150, 28)) + self.upjwt_but.setText("升级JWT程序") + self.upjwt_but.clicked.connect(self.upjwt_but_clicked) + self.upjwt_but.setToolTip("升级JWT模块程序到小板,需要先把程序发送到主板中。") + # 初始化重新启动按钮 def restart_but_init(self): self.restart_but = QPushButton(self.widget) @@ -621,6 +631,25 @@ class updata_dlg(QWidget): self.scheme_mcu(slave_list) self.creat_progress(w,0,slave_list) w.show() + # 升级JWT按钮按下 + def upjwt_but_clicked(self): + print("upjwt_but clicked.") + slave_list=self.get_selected_slave() + if(len(slave_list)==0): + return + print("slaves:",slave_list) + file=self.get_selected_file_by_type([".jwt"]) + if(len(file)==0): + return + print("file:",file) + w=QDialog(self.widget) + w.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose) + w.destroyed.connect(self.quit) + w.resize(700-100, len(slave_list)*40+20) + w.setWindowTitle("升级jwt程序") + self.updata_jwt(slave_list,file) + self.creat_progress(w,0,slave_list) + w.show() def refresh_but_clicked(self): print("refresh_but clicked.") @@ -715,7 +744,7 @@ class updata_dlg(QWidget): # 扫描文件 def scan_file(self): self.file_list.clear() - self.file_list.addItems(self.find_type([".sh",".elf",".bin",".pkt",".lua",".json",".dtb",".axf",".py",".service"])) + self.file_list.addItems(self.find_type([".sh",".elf",".bin",".pkt",".jwt",".lua",".json",".dtb",".axf",".py",".service"])) # 扫描从机 def scan_slave(self): @@ -788,6 +817,20 @@ class updata_dlg(QWidget): cmd_list.append((updata_cmd,1,900)) t = threading.Thread(target=u.bordcast, args=(cmd_list,)) t.start() + # 开始升级jwt + def updata_jwt(self,ip_list,file): + u=udp.myudp(1,255) + self.udp=u + u.dst_ip_list=ip_list + u.rate_signal.connect(self.rate_slot) + u.end_signal.connect(self.end_slot) + print("addrs:",self.addrs) + updata_cmd="mcu upjwt "+self.addrs+' ' + updata_cmd+="/home/root/config/"+file + cmd_list=[] + cmd_list.append((updata_cmd,1,30)) + t = threading.Thread(target=u.bordcast, args=(cmd_list,)) + t.start() # 开始升级方案 def scheme_mcu(self,ip_list): @@ -798,7 +841,7 @@ class updata_dlg(QWidget): u.end_signal.connect(self.end_slot) updata_cmd="mcu scheme "+self.addrs+' ' cmd_list=[] - cmd_list.append((updata_cmd,1,9)) + cmd_list.append((updata_cmd,1,15)) t = threading.Thread(target=u.bordcast, args=(cmd_list,)) t.start()