广播执行任务

This commit is contained in:
andy
2023-12-18 22:56:17 +08:00
parent cc5b1b7458
commit a908698e2e
2 changed files with 82 additions and 0 deletions

View File

@@ -809,3 +809,57 @@ protpc_export(0x41, get_selfdev_set_rescv);
// 执行任务
int selfdev_runtask::dolater(int cmd, myarray data)
{
prot_slave *slave=protSlave();
mycfg *cfg_=syscfg();
busy=1;
// 这里开始检测
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);
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);
}
slave_acked.clear();
for(int i=0;i<cfg_->slave_num;i++){
slave_acked.append(myarray());
}
slave_acked_num=0;
return 0;
}
void selfdev_runtask::timeout()
{
busy=0;
}
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);
busy=0;
}
static HandlePc *get_selfdev_runtask(){
return new selfdev_runtask();
}
protpc_export(0x50, get_selfdev_runtask);

View File

@@ -251,4 +251,32 @@ signals:
// 执行任务
class selfdev_runtask : public HandlePc
{
Q_OBJECT
public:
selfdev_runtask() : HandlePc() {
slave_acked_num=0;
}
~selfdev_runtask() {
}
int dolater(int cmd, myarray data);
void timeout();
public slots:
void slave_end_slot(int addr,int ack, slave_data data);
protected:
QList<myarray> slave_acked;
int slave_acked_num;
signals:
void send_to_m4_signal(myarray data);
};
#endif