自研批检仪检测命令测试成功
广播方式升级从机发现卡死现象
This commit is contained in:
@@ -3,7 +3,10 @@
|
||||
#include "QNetworkConfigurationManager"
|
||||
#include "QTimer"
|
||||
#include "QtNetwork"
|
||||
|
||||
#include "prot/prot_slave.h"
|
||||
#include "prot_cmd/cmd_slave.h"
|
||||
#include "QFile"
|
||||
#include "base/base.h"
|
||||
|
||||
|
||||
|
||||
@@ -46,3 +49,45 @@ cmdline_export(whos, whos, print device base info.);
|
||||
|
||||
|
||||
|
||||
|
||||
// mcu 相关
|
||||
static void mcu_cmdlines(QList<myarray> args)
|
||||
{
|
||||
command *c=command_start();
|
||||
if(args.size()<2){
|
||||
c->send("cmd len too less.");
|
||||
return ;
|
||||
}
|
||||
if((args.size()>=4)&&(args[1]=="updata")){
|
||||
QList<int> addrs=str_to_nums<int>(args[2],',');
|
||||
HandleBoardCast *b=new boardcast_updata();
|
||||
prot_slave *slave=protSlave();
|
||||
mycfg *cfg_=syscfg();
|
||||
bool ack=slave->set_boardcast_handle(addrs,b);
|
||||
if(ack==false){
|
||||
qWarning("handle is busy.");
|
||||
}else{
|
||||
// connect(b,&HandleBoardCast::end_signal,nullptr,[=](int addr,int ack, myarray data){
|
||||
// if(ack==0)
|
||||
// c->send("slave updata success.");
|
||||
// else
|
||||
// c->send("slave updata failed.");
|
||||
// });
|
||||
QFile file;
|
||||
file.setFileName(args[3]);
|
||||
if(file.open(QIODevice::ReadOnly)){
|
||||
myarray data=file.readAll();
|
||||
b->start(data);
|
||||
file.close();
|
||||
}else{
|
||||
qWarning("open file failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
cmdline_export(mcu, mcu_cmdlines, mcu cmdlines` input [mcu help] to detail.);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user