updata_ssh.py 添加jwt模块程序文件下载
This commit is contained in:
@@ -111,4 +111,6 @@
|
|||||||
调整服务器文件列表显示,服务器文件夹显示中文别名
|
调整服务器文件列表显示,服务器文件夹显示中文别名
|
||||||
2023.11.6
|
2023.11.6
|
||||||
注码工具更新雷管厂企业代码
|
注码工具更新雷管厂企业代码
|
||||||
|
2023.11.14
|
||||||
|
updata_ssh.py 添加jwt模块程序文件下载
|
||||||
|
|
||||||
|
@@ -387,10 +387,9 @@ class protu(QObject):
|
|||||||
length=data[8]|(data[9]<<8)|(data[10]<<16)|(data[11]<<24)
|
length=data[8]|(data[9]<<8)|(data[10]<<16)|(data[11]<<24)
|
||||||
self.num_to_recv=5+length+2
|
self.num_to_recv=5+length+2
|
||||||
if(self.num_to_recv>0 and self.num_to_recv==len(data)):
|
if(self.num_to_recv>0 and self.num_to_recv==len(data)):
|
||||||
|
# print("recv",data.hex(","))
|
||||||
t=self.decode(data)
|
t=self.decode(data)
|
||||||
|
|
||||||
self.recv_data+=t
|
self.recv_data+=t
|
||||||
# print("recv",t.hex(","))
|
|
||||||
self.recv_signal.emit(self.cmd,t,self.str_err)
|
self.recv_signal.emit(self.cmd,t,self.str_err)
|
||||||
# self.send_file_next(self.cmd,t,self.str_err)
|
# self.send_file_next(self.cmd,t,self.str_err)
|
||||||
# print("sent signal---")
|
# print("sent signal---")
|
||||||
@@ -400,7 +399,9 @@ class protu(QObject):
|
|||||||
def send(self,cmd:int,data:bytearray):
|
def send(self,cmd:int,data:bytearray):
|
||||||
self.cmd=cmd
|
self.cmd=cmd
|
||||||
self.cmd_no+=1
|
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):
|
def send_str(self,txt:str):
|
||||||
self.ser.write(txt.encode("utf-8"))
|
self.ser.write(txt.encode("utf-8"))
|
||||||
def start_recv(self):
|
def start_recv(self):
|
||||||
|
@@ -33,11 +33,11 @@ QWidget {
|
|||||||
class updata_dlg(QWidget):
|
class updata_dlg(QWidget):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
QWidget.__init__(self)
|
QWidget.__init__(self)
|
||||||
self.resize(870, 430)
|
self.resize(930, 430)
|
||||||
self.setStyleSheet (_QSS)
|
self.setStyleSheet (_QSS)
|
||||||
self.tab_widget=QTabWidget(self)
|
self.tab_widget=QTabWidget(self)
|
||||||
self.setWindowTitle("设备软件升级维护工具")
|
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_ssh=updata_ssh.updata_dlg()
|
||||||
self.widget_uart=updata_uart.updata_dlg()
|
self.widget_uart=updata_uart.updata_dlg()
|
||||||
self.tab_widget.setTabPosition(QTabWidget.TabPosition.North)
|
self.tab_widget.setTabPosition(QTabWidget.TabPosition.North)
|
||||||
|
@@ -114,7 +114,7 @@ class updata_dlg(QWidget):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
QWidget.__init__(self)
|
QWidget.__init__(self)
|
||||||
self.widget = self
|
self.widget = self
|
||||||
self.widget.resize(870, 410)
|
self.widget.resize(900, 410)
|
||||||
self.widget.setWindowTitle("批检仪程序升级")
|
self.widget.setWindowTitle("批检仪程序升级")
|
||||||
self.widget.setWindowFlags(Qt.WindowType.WindowStaysOnTopHint)
|
self.widget.setWindowFlags(Qt.WindowType.WindowStaysOnTopHint)
|
||||||
self.addrs=""
|
self.addrs=""
|
||||||
@@ -130,6 +130,7 @@ class updata_dlg(QWidget):
|
|||||||
self.dhcp_but_init()
|
self.dhcp_but_init()
|
||||||
self.console_but_init()
|
self.console_but_init()
|
||||||
self.settime_but_init()
|
self.settime_but_init()
|
||||||
|
self.upjwt_but_init()
|
||||||
# self.restart_but_init()
|
# self.restart_but_init()
|
||||||
self.cmd_but_init()
|
self.cmd_but_init()
|
||||||
self.refresh_but_init()
|
self.refresh_but_init()
|
||||||
@@ -256,7 +257,7 @@ class updata_dlg(QWidget):
|
|||||||
def dhcp_but_init(self):
|
def dhcp_but_init(self):
|
||||||
self.dhcp_but = QPushButton(self.widget)
|
self.dhcp_but = QPushButton(self.widget)
|
||||||
self.dhcp_but.setObjectName(u"dhcp_but")
|
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.setText("打开DHCP")
|
||||||
self.dhcp_but.clicked.connect(self.dhcp_but_clicked)
|
self.dhcp_but.clicked.connect(self.dhcp_but_clicked)
|
||||||
self.dhcp_but.setToolTip("如果没有搜索到从机,则打开DHCP服务器。")
|
self.dhcp_but.setToolTip("如果没有搜索到从机,则打开DHCP服务器。")
|
||||||
@@ -265,7 +266,7 @@ class updata_dlg(QWidget):
|
|||||||
def console_but_init(self):
|
def console_but_init(self):
|
||||||
self.console_but = QPushButton(self.widget)
|
self.console_but = QPushButton(self.widget)
|
||||||
self.console_but.setObjectName(u"console_but")
|
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.setText("串口控制台")
|
||||||
self.console_but.clicked.connect(self.console_but_clicked)
|
self.console_but.clicked.connect(self.console_but_clicked)
|
||||||
self.console_but.setToolTip("通过设备的串口控制台升级程序,这种方式需要使用到U盘。")
|
self.console_but.setToolTip("通过设备的串口控制台升级程序,这种方式需要使用到U盘。")
|
||||||
@@ -274,11 +275,20 @@ class updata_dlg(QWidget):
|
|||||||
def settime_but_init(self):
|
def settime_but_init(self):
|
||||||
self.settime_but = QPushButton(self.widget)
|
self.settime_but = QPushButton(self.widget)
|
||||||
self.settime_but.setObjectName(u"settime_but")
|
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.setText("同步时间")
|
||||||
self.settime_but.clicked.connect(self.settime_but_clicked)
|
self.settime_but.clicked.connect(self.settime_but_clicked)
|
||||||
self.settime_but.setToolTip("同步主板时间。")
|
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):
|
def restart_but_init(self):
|
||||||
self.restart_but = QPushButton(self.widget)
|
self.restart_but = QPushButton(self.widget)
|
||||||
@@ -621,6 +631,25 @@ class updata_dlg(QWidget):
|
|||||||
self.scheme_mcu(slave_list)
|
self.scheme_mcu(slave_list)
|
||||||
self.creat_progress(w,0,slave_list)
|
self.creat_progress(w,0,slave_list)
|
||||||
w.show()
|
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):
|
def refresh_but_clicked(self):
|
||||||
print("refresh_but clicked.")
|
print("refresh_but clicked.")
|
||||||
@@ -715,7 +744,7 @@ class updata_dlg(QWidget):
|
|||||||
# 扫描文件
|
# 扫描文件
|
||||||
def scan_file(self):
|
def scan_file(self):
|
||||||
self.file_list.clear()
|
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):
|
def scan_slave(self):
|
||||||
@@ -788,6 +817,20 @@ class updata_dlg(QWidget):
|
|||||||
cmd_list.append((updata_cmd,1,900))
|
cmd_list.append((updata_cmd,1,900))
|
||||||
t = threading.Thread(target=u.bordcast, args=(cmd_list,))
|
t = threading.Thread(target=u.bordcast, args=(cmd_list,))
|
||||||
t.start()
|
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):
|
def scheme_mcu(self,ip_list):
|
||||||
@@ -798,7 +841,7 @@ class updata_dlg(QWidget):
|
|||||||
u.end_signal.connect(self.end_slot)
|
u.end_signal.connect(self.end_slot)
|
||||||
updata_cmd="mcu scheme "+self.addrs+' '
|
updata_cmd="mcu scheme "+self.addrs+' '
|
||||||
cmd_list=[]
|
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 = threading.Thread(target=u.bordcast, args=(cmd_list,))
|
||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user