zhangbo
3 天以前 0817c03a55b444ff4958723476f807486439e107
keil/uwb_app.c
@@ -37,7 +37,7 @@
extern uint8_t group_id;
static uint16_t anc_id_recv,tag_id_recv;
static int16_t rec_antdelay;
extern uint32_t dev_id;
extern uint16_t dev_id;
static uint16_t taglist_pos,tmp_time;
extern uint16_t tag_frequency;
extern uint16_t disoffset;
@@ -313,6 +313,7 @@
                {
                    memcpy(&lorarec_usart_send[2],rx_buf,rx_length);
                    uart_send(UART_ID1, lorarec_usart_send,rx_length+2, NULL);
                    TCPClient_Upload_hex(lorarec_usart_send,rx_length+2);
                    for(uint8_t i=0; i<PWTAG_MAXGROUPNUM; i++)
                    {
                        if(pwtag.groupid[i][0]<=lorarec_tagid&&lorarec_tagid<=pwtag.groupid[i][1])
@@ -356,7 +357,9 @@
        rx_length = 0;
//            OpenUWB();//再次开启UWB接收
    }
//    phy_timer_open(1, IRQ_PRIORITY_HIGH);
   OpenUWB();//再次开启UWB接收
//    LOG_INFO(TRACE_MODULE_APP,"RXdone_uwb_rx打开\r\n");
}
@@ -695,6 +698,8 @@
        memcpy(&uwbsend[4+taglist_num*2],&tagdist_list,taglist_num*2);
        memcpy(&uwbsend[4+taglist_num*4],&anchordata_version,taglist_num*2);
        uart_send(UART_ID1, uwbsend,taglist_num*6+4, NULL);
//        TCPClient_Uploadhex(uwbsend,taglist_num*6+4);
        TCPClient_Upload_hex(uwbsend,taglist_num*6+4);
        taglist_num=0;
//        for(int i=0;i<anchordata_num;i++)
//        {
@@ -706,11 +711,13 @@
{
    UWBIdleTask();
}
uint16_t tempid_test;
uint8_t ceju_count;
int Anchor_App(void)
{
                        uint8_t i;
            uint16_t tempid;
         if(group_id==rx_buf[GROUP_ID_IDX]&&rx_buf[MESSAGE_TYPE_IDX] == MBX_POLL)//判断是否是和自己是同一组通讯的且为poll包
      if(group_id==rx_buf[GROUP_ID_IDX]&&rx_buf[MESSAGE_TYPE_IDX] == MBX_POLL)//判断是否是和自己是同一组通讯的且为poll包
        {    flag_recsuccess = 1;
                  wltag_state=RANGE;//成功后从search切换为range
                  memcpy(&g_com_receive_id,&rx_buf[TAG_ID_IDX],2);
@@ -753,6 +760,9 @@
                         for(i=0; i<rec_nearbase_num; i++)
                        {
                              memcpy(&tempid,&rx_buf[FZ_NEARBASEID_INDEX+i*2],2);
                                        memcpy(&tempid_test,&rx_buf[FZ_NEARBASEID_INDEX+i*2],2);
//                              if(memcmp(&tempid,&dev_id,2))
                              if(tempid==dev_id)
                              {
                                    Anchor_RecNearPoll(i);
@@ -769,8 +779,9 @@
                                    break;
                              }
                        }
                         if((i==rec_nearbase_num&&taglist_pos==taglist_num)||(rec_nearbase_num==0&&!ExistInTagList(tag_id_recv)))//当基站不在标签列表中,标签也不在基站列表中时,随机找个时间片回复基站。
            if((i==rec_nearbase_num&&taglist_pos==taglist_num)||(rec_nearbase_num==0&&!ExistInTagList(tag_id_recv)))//当基站不在标签列表中,标签也不在基站列表中时,随机找个时间片回复基站。
                {
//                       ceju_count++;
                       Anchor_RecNearPoll(rec_nearbase_num);
                }
            }