广播命令已接收的回复不再触发回调

检测命令0x0c只能使用单播方式,广播方式因为不能即时回复停止信号,回复会出错
  添加电阻测试命令,添加自检命令
This commit is contained in:
ranchuan
2023-12-13 18:29:46 +08:00
parent fe11c52253
commit cc5b1b7458
13 changed files with 606 additions and 76 deletions

View File

@@ -24,12 +24,16 @@ void prot_slave::init()
qWarning("slave addr err:%d",src);
}else{
if((broadcast_!=nullptr)&&(broadcast_->busy)){
broadcast_->addr_response|=1<<(src-1);
// 存储从机的数据
broadcast_->ret_data[src-1]=data;
if(broadcast_->check_response()==true){
// broadcast_->dolater(broadcast_->cmd,data);
emit boardcast_dolater_signal(broadcast_->cmd,data);
if(cmd==broadcast_->cmd){
if((broadcast_->addr_response&(1<<(src-1)))==0){
broadcast_->addr_response|=1<<(src-1);
// 存储从机的数据
broadcast_->ret_data[src-1]=data;
if(broadcast_->check_response()==true){
// broadcast_->dolater(broadcast_->cmd,data);
emit boardcast_dolater_signal(broadcast_->cmd,data);
}
}
}
}else{
handle=slaves[src-1];