| | |
| | | //void TagListUpdate(void) |
| | | //{ |
| | | // uint8_t i,j=0; |
| | | // for(i=0; i<anchordata_num; i++) |
| | | // for(i=0; i<taglist_num; i++) |
| | | // { |
| | | // if(tagofflinetime[i]++<QUIT_SLOT_TIME) |
| | | // { |
| | |
| | | // tagofflinetime[j++]=tagofflinetime[i]; |
| | | // } |
| | | // } |
| | | // anchordata_num=j; |
| | | // taglist_num=j; |
| | | //} |
| | | void TagListUpdate(void) |
| | | { |
| | | uint16_t i,j=0,k=0; |
| | | for(i=0; i<taglist_num; i++) |
| | | { |
| | | if(tagofflinetime[i]++<TAG_KEEPTIMES) |
| | | if(tagofflinetime[i]++<10) |
| | | { |
| | | tagid_list[j]=tagid_list[i]; |
| | | tagdist_list[j] = tagdist_list[i]; |
| | | anchordata_bat[j]=anchordata_bat[i];//电量随之更新 |
| | | anchordata_bat[j]=anchordata_bat[i];//电量随之更新 |
| | | anchordata_version[j]=anchordata_version[i]; |
| | | tagofflinetime[j++]=tagofflinetime[i]; |
| | | } |
| | |
| | | if(uwb_losttimer>g_com_map[UWB_RNAGE_TIME]) |
| | | uwb_losttimer=g_com_map[UWB_RNAGE_TIME]+1;//防止溢出 |
| | | } |
| | | uint8_t uwbsend[200]; |
| | | uint8_t uwbsend[1000]; |
| | | |
| | | void UWBIdleTask(void) |
| | | { |
| | |
| | | |
| | | } |
| | | |
| | | if(taglist_num>6) |
| | | { |
| | | taglist_num=6; |
| | | } |
| | | // if(taglist_num>6) |
| | | // { |
| | | // taglist_num=6; |
| | | // } |
| | | uwbtasktimer = HIDO_TimerGetTick(); |
| | | UWBOneSecondTask(); |
| | | uwbsend[0]=0x55; |
| | |
| | | memcpy(&uwbsend[4],&tagid_list,taglist_num*2); |
| | | 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_ID0, uwbsend,taglist_num*6+4, NULL); |
| | | taglist_num=0; |
| | | // for(int i=0;i<anchordata_num;i++) |
| | | // { |
| | | // LOG_INFO(TRACE_MODULE_APP,"当前测距基站ID:%x,距离:%d.\r\n",tagid_list[0],tagdist_list[0]); |
| | | // } |
| | | // uart_send(UART_ID0, uwbsend,taglist_num*6+4, NULL); |
| | | // taglist_num=0; |
| | | LOG_INFO(TRACE_MODULE_APP,"当前测距基站数量%d.\r\n",taglist_num); |
| | | for(int i=0;i<taglist_num;i++) |
| | | { |
| | | LOG_INFO(TRACE_MODULE_APP,"当前测距基站ID:%x,距离:%d.\r\n",tagid_list[i],tagdist_list[i]); |
| | | } |
| | | } |
| | | } |
| | | int uwb_app_poll(void) |
| | |
| | | current_count=phy_timer_count_get(); |
| | | while(mac_is_busy()) |
| | | { |
| | | Calibration_Time(); |
| | | // Calibration_Time(); |
| | | IdleTask(); |
| | | current_count=phy_timer_count_get(); |
| | | if(current_count>end_receive_count&¤t_count<end_receive_count+HALF_SECOND_TIME) |