广播方式升级从机成功
This commit is contained in:
@@ -25,12 +25,15 @@ void prot_slave::init()
|
||||
}else{
|
||||
if((broadcast_!=nullptr)&&(broadcast_->busy)){
|
||||
broadcast_->addr_response|=1<<(src-1);
|
||||
if(broadcast_->check_response()==true)
|
||||
broadcast_->dolater(broadcast_->cmd,data);
|
||||
if(broadcast_->check_response()==true){
|
||||
// broadcast_->dolater(broadcast_->cmd,data);
|
||||
emit boardcast_dolater_signal(broadcast_->cmd,data);
|
||||
}
|
||||
}else{
|
||||
handle=slaves[src-1];
|
||||
if(handle!=nullptr){
|
||||
handle->dolater(cmd,data);
|
||||
// handle->dolater(cmd,data);
|
||||
emit slave_dolater_signal(cmd,data);
|
||||
}else{
|
||||
qWarning("slave addr=%d not have handle.",src);
|
||||
}
|
||||
@@ -63,6 +66,7 @@ bool prot_slave::set_slave_handle(int addr, HandleSlave *handle)
|
||||
}
|
||||
handle->addr=addr;
|
||||
connect(handle, &HandleSlave::send_data_signal, this, &prot_slave::send_data_slot);
|
||||
connect(this,&prot_slave::slave_dolater_signal,handle,&HandleSlave::dolater);
|
||||
slaves.replace(addr - 1, handle);
|
||||
return true;
|
||||
}
|
||||
@@ -84,6 +88,7 @@ bool prot_slave::set_boardcast_handle(QList<int> addrs,HandleBoardCast *handle)
|
||||
broadcast_=handle;
|
||||
broadcast_->trun_list_to_bit(addrs);
|
||||
connect(handle, &HandleBoardCast::send_data_signal, this, &prot_slave::send_data_slot);
|
||||
connect(this,&prot_slave::boardcast_dolater_signal,handle,&HandleBoardCast::dolater);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user