| | |
| | | uint8_t receive_error_flag; |
| | | uint8_t rxnumoknum,rxnumerrornum; |
| | | uint8_t resp_tx_flag; |
| | | extern uint8_t ceju_onlinetime; |
| | | extern uint8_t in_the_room_flag; |
| | | static void rx_int_callback(struct MAC_HW_REPORT_T *rx_report) |
| | | { uint8_t valid_sts=0; |
| | | // Power off radio |
| | |
| | | temp_count= phy_timer_count_get(); |
| | | memcpy(&rx_rpt, rx_report, sizeof(struct MAC_HW_REPORT_T)); |
| | | rx_length = 0; |
| | | // ceju_onlinetime==0; |
| | | // in_the_room_flag++; |
| | | receive_error_flag=1; |
| | | OpenUWB();//再次开启UWB接收 |
| | | } |
| | |
| | | extern uint8_t in_the_room_flag; |
| | | extern uint8_t lounei_flag; |
| | | uint8_t ceju_onlinetime; |
| | | uint16_t last_id=0; |
| | | uint8_t ceju_leave_flag=0; |
| | | void TagListUpdate(void) |
| | | { |
| | | uint16_t i,j=0,k=0; |
| | |
| | | anchordata_bat[j]=anchordata_bat[i];//电量随之更新 |
| | | anchor_rssi[j]=anchor_rssi[i]; |
| | | tagofflinetime[j++]=tagofflinetime[i]; |
| | | in_the_room_flag=0; |
| | | ceju_onlinetime++; |
| | | } |
| | | // in_the_room_flag=0; |
| | | last_id=tagid_list[i]; |
| | | if(last_id=tagid_list[i]) |
| | | { |
| | | ceju_onlinetime++; |
| | | } |
| | | |
| | | } |
| | | } |
| | | if(ceju_onlinetime>0||taglist_num==0) |
| | | // if(ceju_onlinetime==0&&taglist_num==0) |
| | | // { |
| | | // in_the_room_flag=0; |
| | | // } |
| | | // if(ceju_onlinetime>1&&taglist_num==0) |
| | | // { |
| | | // in_the_room_flag=1; |
| | | // } |
| | | if(ceju_onlinetime>0&&taglist_num==0) |
| | | { |
| | | ceju_onlinetime=0; |
| | | in_the_room_flag=1; |
| | | ceju_onlinetime=0; |
| | | ceju_leave_flag=1; |
| | | } |
| | | taglist_num=j; |
| | | } |
| | |
| | | tagdist_list[taglist_pos]=rec_ancdistlist[i]; |
| | | anchordata_bat[taglist_pos] = battary;//保存该基站电量 |
| | | anchor_rssi[taglist_pos]=rssi; |
| | | // in_the_room_flag=1; |
| | | // if(dev_id==g_com_map[DOOR_UWB_1]) |
| | | // { |
| | | // |
| | | // } |
| | | // if(dev_id==g_com_map[DOOR_UWB_2]) |
| | | // { |
| | | // |
| | | // } |
| | | // if(dev_id==g_com_map[DOOR_UWB_3]) |
| | | // { |
| | | // IN_THE_ROOM_FLAG=1; |
| | | // } |
| | | PCA9555_Set_One_Value_Output(GPS_POWER,1); |
| | | if(taglist_pos==taglist_num)// taglist_pos==taglist_num 说明这个基站不在当前列表中 |
| | | { //tempid==dev_id 说明基站下发测距报文有这个标签的信息 |
| | | taglist_num++; //满足上述两种情况才会添加基站ID进入列表中,否则会出现标签不在基站列表中,标签也不响应的情况 |
| | | tagid_list[taglist_pos] = tag_id_recv; |
| | | tagid_list[taglist_pos] = tag_id_recv; |
| | | PCA9555_Set_One_Value_Output(GPS_POWER,1); |
| | | } |
| | | break; |
| | | } |