zhyinch
2020-09-21 d97b9d1feb9f59b7b5508fe2d0fb2c94767204a2
Ô´Âë/ºËÐİå/Src/application/dw_app.c
@@ -816,7 +816,9 @@
            dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR);
         }
}
u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor;
extern uint16_t configremotetagID;
extern u8 remotetag_paralen;
u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,waittagconfig_reponse;
u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase  1 first near_base
{
   u8 motorstate;
@@ -855,15 +857,41 @@
         tx_nearresp_msg[MAINBASE_INDEX]=flag_syncbase;
         tx_nearresp_msg[MESSAGE_TYPE_IDX]=NEAR_RESPONSE;
         tx_nearresp_msg[MOTORSTATE_INDEX]=(remotesend_state<<4)|motorstate;
         if(remotesend_state)
         {
             memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,REMOTEPARA_LEN);
            dwt_writetxdata(22+REMOTEPARA_LEN, tx_nearresp_msg, 0);//写入发送数据
            dwt_writetxfctrl(22+REMOTEPARA_LEN, 0);//设定发送长度
         }else{
         dwt_writetxdata(22, tx_nearresp_msg, 0);//写入发送数据
         dwt_writetxfctrl(22, 0);//设定发送长度
         }
         waittagconfig_reponse=0;
         if(pwtag.remain_time>0)
            {uint8_t i;
               for(i=0;i<pwtag.groupnum;i++)
               {
                  if(pwtag.groupid[i][0]<=tag_id_recv&&tag_id_recv<=pwtag.groupid[i][1])
                  {
                     remotesend_state=1;
                     tx_nearresp_msg[MOTORSTATE_INDEX]=(remotesend_state<<4)|motorstate;
                     remotetag_paralen = 2+3;
                     remotetag_para[0] = 2;
                     remotetag_para[1] = 6;
                     remotetag_para[2] = 2;
                     memcpy(&remotetag_para[3],&pwtag.group_interval[i],2);
                     memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,remotetag_paralen);
                     dwt_writetxdata(22+remotetag_paralen, tx_nearresp_msg, 0);//写入发送数据
                     dwt_writetxfctrl(22+remotetag_paralen, 0);//设定发送长度
                     remotesend_state=0;
                     break;
                  }
               }
            }else{
                  dwt_writetxdata(22, tx_nearresp_msg, 0);//写入发送数据
                  dwt_writetxfctrl(22, 0);//设定发送长度
            }
//          if(remotesend_state&&tag_id_recv==configremotetagID)
//         {
//             memcpy(&tx_nearresp_msg[REMOTEPARA_INDEX],remotetag_para,remotetag_paralen);
//            dwt_writetxdata(22+remotetag_paralen, tx_nearresp_msg, 0);//写入发送数据
//            dwt_writetxfctrl(22+remotetag_paralen, 0);//设定发送长度
//            waittagconfig_reponse=1;
//         }else{
         result = dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收
         battary = rx_buffer[BATTARY_IDX];
@@ -948,6 +976,18 @@
                  misdist_num[taglist_pos]++;
               }
            }
               if(rx_buffer[TAGCONFIGSUCCESS_INDEX]==1&&waittagconfig_reponse)
               {
                  waittagconfig_reponse = 0;
                  remotesend_state = 0;
                  usart_send[2] = 7;//正常模式
                  usart_send[3] = 5;//数据段长度
                  memcpy(&usart_send[4],&tag_id_recv,2);
                  usart_send[6] = 1;//数据段长度
                  checksum = Checksum_u16(&usart_send[2],5);
                  memcpy(&usart_send[7],&checksum,2);
                  UART_PushFrame(usart_send,9);
               }
         }
         }else{
               //printf("%x/n",status_reg);