制定任务执行命令

This commit is contained in:
ranchuan
2023-12-19 18:14:35 +08:00
parent a908698e2e
commit bf4b4b45ea
12 changed files with 315 additions and 22 deletions

View File

@@ -821,18 +821,22 @@ int selfdev_runtask::dolater(int cmd, myarray data)
qDebug("set_rescv.");
emit send_data_signal(cmd,myarray(1,0));
HandleBoardCast *b=new slave_cmd();
bool ack=slave->set_boardcast_handle(cfg_->calc_slave_addrs(),b);
addrs=cmd_pc_to_addrs(data);
bool ack=slave->set_boardcast_handle(addrs,b);
if(ack==false){
qWarning("handle is busy.");
busy=0;
}else{
connect(b,&HandleBoardCast::end_signal,this,&selfdev_runtask::slave_end_slot);
// 广播设置校准值,需使用新增命令
b->cmd=0x13;
b->start(data);
b->cmd=cmd_slave();
b->start(cmd_pc_to_slave(data));
if(cmd_pc_recv()!=0){
emit send_data_signal(cmd_pc_recv(),cmd_pc_recv_to_pc());
}
}
slave_acked.clear();
for(int i=0;i<cfg_->slave_num;i++){
for(int i=0;i<addrs.size();i++){
slave_acked.append(myarray());
}
slave_acked_num=0;
@@ -846,17 +850,18 @@ void selfdev_runtask::timeout()
void selfdev_runtask::slave_end_slot(int addr,int ack, slave_data data)
{
qDebug("selfdev set_rescv end.");
myarray r;
r.append(char(0));
emit send_data_signal(0x50,r);
qDebug("selfdev runtask end.");
for(int i=0;i<data.size();i++){
slave_ret slave=data.at(i);
slave_acked.replace(slave.addr-1,slave.data);
slave_acked_num++;
}
if(cmd_pc_ret()!=0){
emit send_data_signal(cmd_pc_ret(),ret_slave_to_pc(slave_acked));
}
busy=0;
}
static HandlePc *get_selfdev_runtask(){
return new selfdev_runtask();
}
protpc_export(0x50, get_selfdev_runtask);