可以给小板升级方案,可以升级改为20通道
This commit is contained in:
@@ -29,4 +29,10 @@
|
|||||||
2023.5.12
|
2023.5.12
|
||||||
添加一些提示和警告信息
|
添加一些提示和警告信息
|
||||||
2023.5.17
|
2023.5.17
|
||||||
仓库地址 git@124.70.178.159:/home/git/rep/updata.git
|
仓库地址 git@124.70.178.159:/home/git/rep/updata.git
|
||||||
|
2023.7.27
|
||||||
|
.json 结尾的视为方案
|
||||||
|
2023.7.28
|
||||||
|
添加升级方案按钮
|
||||||
|
.axf 结尾的为主板m4程序
|
||||||
|
改为20通道
|
12
udp.py
12
udp.py
@@ -144,18 +144,22 @@ class myudp(QObject):
|
|||||||
cmd_list=[]
|
cmd_list=[]
|
||||||
# cmd_list.append(("local setlog filefilter tcp_client",1,1))
|
# cmd_list.append(("local setlog filefilter tcp_client",1,1))
|
||||||
# cmd_list.append(("mcu scheme 1,2,3,4,5,6,7,8,9,10",1,30))
|
# cmd_list.append(("mcu scheme 1,2,3,4,5,6,7,8,9,10",1,30))
|
||||||
cmd_list.append(("mcu bootinfo 1,2,3,4,5,6,7,8,9,10",1,5))
|
# cmd_list.append(("mcu bootinfo 1,2,3,4,5,6,7,8,9,10",1,5))
|
||||||
# cmd_list.append(("mcu start 10",1,37))
|
# cmd_list.append(("mcu start 10",1,37))
|
||||||
# cmd_list.append(("mcu updata 1,2,3,4,5,6,7,8,9,10",1,900))
|
# cmd_list.append(("mcu updata 1,2,3,4,5,6,7,8,9,10",1,900))
|
||||||
cmd_list.append(("whos",1,2))
|
# cmd_list.append(("whos",1,2))
|
||||||
# cmd_list.append(("mcu updata 10 /home/root/config/JQChecker_0008.bin",1,900))
|
# cmd_list.append(("mcu updata 10 /home/root/config/JQChecker_0008.bin",1,900))
|
||||||
|
# cmd_list.append(("local setcfg hostip 192.168.60.202",1,2))
|
||||||
|
# cmd_list.append(("local setcfg usetcp true",1,2))
|
||||||
|
# cmd_list.append(("local setcfg uselua true",1,2))
|
||||||
|
# cmd_list.append(("local setcfg save",1,2))
|
||||||
|
cmd_list.append(("mcu start 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20",2,50))
|
||||||
|
|
||||||
# 扫描从机ip地址
|
# 扫描从机ip地址
|
||||||
# 返回元组列表,ip,local_id
|
# 返回元组列表,ip,local_id
|
||||||
def main():
|
def main():
|
||||||
udp=myudp(1,255)
|
udp=myudp(1,255)
|
||||||
udp.find("192.168.80")
|
udp.find("192.168.60")
|
||||||
print(udp.dst_ip_list)
|
print(udp.dst_ip_list)
|
||||||
udp.bordcast(cmd_list)
|
udp.bordcast(cmd_list)
|
||||||
|
|
||||||
|
89
updata.py
89
updata.py
@@ -106,6 +106,8 @@ class updata_dlg(QObject):
|
|||||||
self.widget.resize(703, 409)
|
self.widget.resize(703, 409)
|
||||||
self.widget.setWindowTitle("批检仪程序升级")
|
self.widget.setWindowTitle("批检仪程序升级")
|
||||||
self.widget.setWindowFlags(Qt.WindowType.WindowStaysOnTopHint)
|
self.widget.setWindowFlags(Qt.WindowType.WindowStaysOnTopHint)
|
||||||
|
self.but_y=60
|
||||||
|
self.but_y_step=40
|
||||||
self.file_list_init()
|
self.file_list_init()
|
||||||
self.slave_list_init()
|
self.slave_list_init()
|
||||||
self.save_but_init()
|
self.save_but_init()
|
||||||
@@ -114,6 +116,7 @@ class updata_dlg(QObject):
|
|||||||
self.sstate_but_init()
|
self.sstate_but_init()
|
||||||
self.hand_but_init()
|
self.hand_but_init()
|
||||||
self.addfile_but_init()
|
self.addfile_but_init()
|
||||||
|
self.scheme_but_init()
|
||||||
self.ip_prefix_init()
|
self.ip_prefix_init()
|
||||||
self.ip_hand_init()
|
self.ip_hand_init()
|
||||||
self.widget.destroyed.connect(self.quit)
|
self.widget.destroyed.connect(self.quit)
|
||||||
@@ -169,7 +172,8 @@ class updata_dlg(QObject):
|
|||||||
def hand_but_init(self):
|
def hand_but_init(self):
|
||||||
self.hand_but = QPushButton(self.widget)
|
self.hand_but = QPushButton(self.widget)
|
||||||
self.hand_but.setObjectName(u"hand_but")
|
self.hand_but.setObjectName(u"hand_but")
|
||||||
self.hand_but.setGeometry(QRect(590, 60, 93, 28))
|
self.hand_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.hand_but.setText("手动添加IP")
|
self.hand_but.setText("手动添加IP")
|
||||||
self.hand_but.clicked.connect(self.hand_but_clicked)
|
self.hand_but.clicked.connect(self.hand_but_clicked)
|
||||||
self.hand_but.setToolTip("请先在[手动添加IP地址]输入框中输入要添加的地址,然后点击此按钮添加到设备列表中。")
|
self.hand_but.setToolTip("请先在[手动添加IP地址]输入框中输入要添加的地址,然后点击此按钮添加到设备列表中。")
|
||||||
@@ -179,7 +183,8 @@ class updata_dlg(QObject):
|
|||||||
def save_but_init(self):
|
def save_but_init(self):
|
||||||
self.save_but = QPushButton(self.widget)
|
self.save_but = QPushButton(self.widget)
|
||||||
self.save_but.setObjectName(u"save_but")
|
self.save_but.setObjectName(u"save_but")
|
||||||
self.save_but.setGeometry(QRect(590, 100, 93, 28))
|
self.save_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.save_but.setText("发送文件")
|
self.save_but.setText("发送文件")
|
||||||
self.save_but.clicked.connect(self.save_but_clicked)
|
self.save_but.clicked.connect(self.save_but_clicked)
|
||||||
self.save_but.setToolTip("请先选中要升级的主板和文件,然后点击此按钮发送到设备中。")
|
self.save_but.setToolTip("请先选中要升级的主板和文件,然后点击此按钮发送到设备中。")
|
||||||
@@ -190,7 +195,8 @@ class updata_dlg(QObject):
|
|||||||
def cmd_but_init(self):
|
def cmd_but_init(self):
|
||||||
self.cmd_but = QPushButton(self.widget)
|
self.cmd_but = QPushButton(self.widget)
|
||||||
self.cmd_but.setObjectName(u"save_but")
|
self.cmd_but.setObjectName(u"save_but")
|
||||||
self.cmd_but.setGeometry(QRect(590, 140, 93, 28))
|
self.cmd_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.cmd_but.setText("升级MCU")
|
self.cmd_but.setText("升级MCU")
|
||||||
self.cmd_but.clicked.connect(self.cmd_but_clicked)
|
self.cmd_but.clicked.connect(self.cmd_but_clicked)
|
||||||
self.cmd_but.setToolTip("请先将要升级的MCU程序发送到主板中,然后点击此按钮开始升级MCU程序。")
|
self.cmd_but.setToolTip("请先将要升级的MCU程序发送到主板中,然后点击此按钮开始升级MCU程序。")
|
||||||
@@ -200,7 +206,8 @@ class updata_dlg(QObject):
|
|||||||
def refresh_but_init(self):
|
def refresh_but_init(self):
|
||||||
self.refresh_but = QPushButton(self.widget)
|
self.refresh_but = QPushButton(self.widget)
|
||||||
self.refresh_but.setObjectName(u"save_but")
|
self.refresh_but.setObjectName(u"save_but")
|
||||||
self.refresh_but.setGeometry(QRect(590, 180, 93, 28))
|
self.refresh_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.refresh_but.setText("刷新IP地址")
|
self.refresh_but.setText("刷新IP地址")
|
||||||
self.refresh_but.clicked.connect(self.refresh_but_clicked)
|
self.refresh_but.clicked.connect(self.refresh_but_clicked)
|
||||||
self.refresh_but.setToolTip("点击此按钮刷新主板列表。")
|
self.refresh_but.setToolTip("点击此按钮刷新主板列表。")
|
||||||
@@ -210,7 +217,8 @@ class updata_dlg(QObject):
|
|||||||
def sstate_but_init(self):
|
def sstate_but_init(self):
|
||||||
self.sstate_but = QPushButton(self.widget)
|
self.sstate_but = QPushButton(self.widget)
|
||||||
self.sstate_but.setObjectName(u"sstate_but")
|
self.sstate_but.setObjectName(u"sstate_but")
|
||||||
self.sstate_but.setGeometry(QRect(590, 220, 93, 28))
|
self.sstate_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.sstate_but.setText("MCU在线状态")
|
self.sstate_but.setText("MCU在线状态")
|
||||||
self.sstate_but.clicked.connect(self.sstate_but_clicked)
|
self.sstate_but.clicked.connect(self.sstate_but_clicked)
|
||||||
self.sstate_but.setToolTip("点击此按钮查看小板在线情况,显示在线小板的地址。")
|
self.sstate_but.setToolTip("点击此按钮查看小板在线情况,显示在线小板的地址。")
|
||||||
@@ -220,12 +228,24 @@ class updata_dlg(QObject):
|
|||||||
def addfile_but_init(self):
|
def addfile_but_init(self):
|
||||||
self.addfile_but = QPushButton(self.widget)
|
self.addfile_but = QPushButton(self.widget)
|
||||||
self.addfile_but.setObjectName(u"addfile_but")
|
self.addfile_but.setObjectName(u"addfile_but")
|
||||||
self.addfile_but.setGeometry(QRect(590, 260, 93, 28))
|
self.addfile_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
self.addfile_but.setText("添加文件")
|
self.addfile_but.setText("添加文件")
|
||||||
self.addfile_but.clicked.connect(self.addfile_but_clicked)
|
self.addfile_but.clicked.connect(self.addfile_but_clicked)
|
||||||
self.addfile_but.setToolTip("如果文件列表中不存在要升级的文件,点击此按钮从外部添加。")
|
self.addfile_but.setToolTip("如果文件列表中不存在要升级的文件,点击此按钮从外部添加。")
|
||||||
# self.addfile_but.setToolTipDuration(1)
|
# self.addfile_but.setToolTipDuration(1)
|
||||||
|
|
||||||
|
# 初始化升级方案按钮
|
||||||
|
def scheme_but_init(self):
|
||||||
|
self.scheme_but = QPushButton(self.widget)
|
||||||
|
self.scheme_but.setObjectName(u"scheme_but")
|
||||||
|
self.scheme_but.setGeometry(QRect(590, self.but_y, 93, 28))
|
||||||
|
self.but_y+=self.but_y_step
|
||||||
|
self.scheme_but.setText("升级方案")
|
||||||
|
self.scheme_but.clicked.connect(self.scheme_but_clicked)
|
||||||
|
self.scheme_but.setToolTip("请先将要升级的方案文件发送到主板中,然后点击此按钮开始升级方案到MCU。")
|
||||||
|
# self.addfile_but.setToolTipDuration(1)
|
||||||
|
|
||||||
# ip前缀
|
# ip前缀
|
||||||
def ip_prefix_init(self):
|
def ip_prefix_init(self):
|
||||||
self.ip_prefix = QLineEdit(self.widget)
|
self.ip_prefix = QLineEdit(self.widget)
|
||||||
@@ -331,10 +351,12 @@ class updata_dlg(QObject):
|
|||||||
dst_list.append("/usr/local/QDesktop-fb")
|
dst_list.append("/usr/local/QDesktop-fb")
|
||||||
elif(i[-4:]==".dtb"):
|
elif(i[-4:]==".dtb"):
|
||||||
dst_list.append("/run/media/mmcblk2p2/"+i)
|
dst_list.append("/run/media/mmcblk2p2/"+i)
|
||||||
elif(i.find("checker_ye_cfg")>=0):
|
elif(i[-5:]==".json"):
|
||||||
dst_list.append("/home/root/config/"+"checker_ye_cfg.json")
|
dst_list.append("/home/root/config/"+"checker_ye_cfg.json")
|
||||||
elif(i[-4:]==".lua"):
|
elif(i[-4:]==".lua"):
|
||||||
dst_list.append("/home/root/config/"+"judge.lua")
|
dst_list.append("/home/root/config/"+"judge.lua")
|
||||||
|
elif(i[-4:]==".axf"):
|
||||||
|
dst_list.append("/lib/firmware/"+"checker_m4.axf")
|
||||||
else:
|
else:
|
||||||
dst_list.append("/home/root/config/"+i)
|
dst_list.append("/home/root/config/"+i)
|
||||||
return dst_list
|
return dst_list
|
||||||
@@ -397,6 +419,19 @@ class updata_dlg(QObject):
|
|||||||
self.updata_mcu(slave_list,file)
|
self.updata_mcu(slave_list,file)
|
||||||
self.creat_progress(w,0,slave_list)
|
self.creat_progress(w,0,slave_list)
|
||||||
w.show()
|
w.show()
|
||||||
|
# 升级方案按钮按下
|
||||||
|
def scheme_but_clicked(self):
|
||||||
|
print("scheme_but clicked.")
|
||||||
|
slave_list=self.get_selected_slave()
|
||||||
|
if(len(slave_list)==0):
|
||||||
|
return
|
||||||
|
print("slaves:",slave_list)
|
||||||
|
w=QDialog(self.widget)
|
||||||
|
w.resize(700-100, len(slave_list)*40+20)
|
||||||
|
w.setWindowTitle("升级mcu")
|
||||||
|
self.scheme_mcu(slave_list)
|
||||||
|
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.")
|
||||||
@@ -414,7 +449,7 @@ class updata_dlg(QObject):
|
|||||||
def addfile_but_clicked(self):
|
def addfile_but_clicked(self):
|
||||||
print("addfile_but clicked")
|
print("addfile_but clicked")
|
||||||
fileName,fileType = QFileDialog.getOpenFileNames(None, "选取文件", os.getcwd(),
|
fileName,fileType = QFileDialog.getOpenFileNames(None, "选取文件", os.getcwd(),
|
||||||
"主板程序(*.elf);;小板程序(*.bin);;检测方案(*.json);;判定脚本(*.lua);;任意文件(*)")
|
"主板程序(*.elf);;主板m4程序(*.axf);;小板程序(*.bin);;检测方案(*.json);;判定脚本(*.lua);;任意文件(*)")
|
||||||
print(fileName,fileType)
|
print(fileName,fileType)
|
||||||
path=self.getpath()+"file\\"
|
path=self.getpath()+"file\\"
|
||||||
for i in fileName:
|
for i in fileName:
|
||||||
@@ -430,7 +465,7 @@ class updata_dlg(QObject):
|
|||||||
# 扫描文件
|
# 扫描文件
|
||||||
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",".lua",".json",".dtb"]))
|
self.file_list.addItems(self.find_type([".sh",".elf",".bin",".lua",".json",".dtb",".axf"]))
|
||||||
|
|
||||||
# 扫描从机
|
# 扫描从机
|
||||||
def scan_slave(self):
|
def scan_slave(self):
|
||||||
@@ -438,17 +473,17 @@ class updata_dlg(QObject):
|
|||||||
ip_prefix=self.ip_prefix.text()
|
ip_prefix=self.ip_prefix.text()
|
||||||
u.find(ip_prefix)
|
u.find(ip_prefix)
|
||||||
ip_list=u.dst_ip_list
|
ip_list=u.dst_ip_list
|
||||||
if(len(ip_list)==0):
|
# if(len(ip_list)==0):
|
||||||
ret=self.show_question("提示","未扫描到从机,是否自动添加?")
|
# ret=self.show_question("提示","未扫描到从机,是否自动添加?")
|
||||||
if(ret==True):
|
# if(ret==True):
|
||||||
ip_list.append((ip_prefix+".81","local_id_1"))
|
# ip_list.append((ip_prefix+".81","local_id_1"))
|
||||||
ip_list.append((ip_prefix+".82","local_id_2"))
|
# ip_list.append((ip_prefix+".82","local_id_2"))
|
||||||
ip_list.append((ip_prefix+".83","local_id_3"))
|
# ip_list.append((ip_prefix+".83","local_id_3"))
|
||||||
ip_list.append((ip_prefix+".84","local_id_4"))
|
# ip_list.append((ip_prefix+".84","local_id_4"))
|
||||||
ip_list.append((ip_prefix+".85","local_id_5"))
|
# ip_list.append((ip_prefix+".85","local_id_5"))
|
||||||
ip_list.append((ip_prefix+".86","local_id_6"))
|
# ip_list.append((ip_prefix+".86","local_id_6"))
|
||||||
ip_list.append((ip_prefix+".87","local_id_7"))
|
# ip_list.append((ip_prefix+".87","local_id_7"))
|
||||||
ip_list.append((ip_prefix+".88","local_id_8"))
|
# ip_list.append((ip_prefix+".88","local_id_8"))
|
||||||
list_str=[]
|
list_str=[]
|
||||||
for i in u.dst_ip_list:
|
for i in u.dst_ip_list:
|
||||||
list_str.append(i[0]+','+i[1])
|
list_str.append(i[0]+','+i[1])
|
||||||
@@ -488,13 +523,25 @@ class updata_dlg(QObject):
|
|||||||
u.dst_ip_list=ip_list
|
u.dst_ip_list=ip_list
|
||||||
u.rate_signal.connect(self.rate_slot)
|
u.rate_signal.connect(self.rate_slot)
|
||||||
u.end_signal.connect(self.end_slot)
|
u.end_signal.connect(self.end_slot)
|
||||||
updata_cmd="mcu updata 1,2,3,4,5,6,7,8,9,10 "
|
updata_cmd="mcu updata 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 "
|
||||||
updata_cmd+="/home/root/config/"+file
|
updata_cmd+="/home/root/config/"+file
|
||||||
cmd_list=[]
|
cmd_list=[]
|
||||||
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()
|
||||||
|
|
||||||
|
# 开始升级方案
|
||||||
|
def scheme_mcu(self,ip_list):
|
||||||
|
u=udp.myudp(1,255)
|
||||||
|
u.dst_ip_list=ip_list
|
||||||
|
u.rate_signal.connect(self.rate_slot)
|
||||||
|
u.end_signal.connect(self.end_slot)
|
||||||
|
updata_cmd="mcu scheme 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 "
|
||||||
|
cmd_list=[]
|
||||||
|
cmd_list.append((updata_cmd,1,9))
|
||||||
|
t = threading.Thread(target=u.bordcast, args=(cmd_list,))
|
||||||
|
t.start()
|
||||||
|
|
||||||
# 小板通信测试
|
# 小板通信测试
|
||||||
def comm_test(self,ip_list):
|
def comm_test(self,ip_list):
|
||||||
u=udp.myudp(1,255)
|
u=udp.myudp(1,255)
|
||||||
|
Reference in New Issue
Block a user