| | |
| | | #define TAG_NUM_IN_SYS 25 |
| | | |
| | | #define TAG_KEEPTIMES 30 |
| | | #define REPORT_TAG_KEEPTIMES 4 |
| | | #define REPORT_TAG_KEEPTIMES 1 |
| | | static uint16_t ancidlist_rec[TAG_NUM_IN_SYS],ancidlist_send[TAG_NUM_IN_SYS],rec_ancidlist[TAG_NUM_IN_SYS],rec_ancdistlist[TAG_NUM_IN_SYS]; |
| | | static u8 frame_seq_nb2,battary,button,uwb_losttimer,taglist_pos; |
| | | |
| | |
| | | break; |
| | | } |
| | | } |
| | | if(i==rec_nearbase_num&&taglist_pos==taglist_num)//当基站不在标签列表中,标签也不在基站列表中时,随机找个时间片回复基站。 |
| | | if((i==rec_nearbase_num&&taglist_pos==taglist_num)||rec_nearbase_num==0)//当基站不在标签列表中,标签也不在基站列表中时,随机找个时间片回复基站。 |
| | | { |
| | | Anchor_RecNearPoll(rec_nearbase_num+start_time%5); |
| | | // Anchor_RecNearPoll(rec_nearbase_num); |
| | | // Anchor_RecNearPoll(rec_nearbase_num+start_time%5); |
| | | Anchor_RecNearPoll(rec_nearbase_num); |
| | | } |
| | | } |
| | | |
| | |
| | | extern uint8_t rec_secdelay; |
| | | u16 lora_send_count; |
| | | |
| | | |
| | | uint8_t t22[20],ti; |
| | | void Lora_Send_Poll(void) |
| | | { |
| | | if(Lora_send_flag) |
| | |
| | | { |
| | | Lora_send_flag=0; |
| | | |
| | | if(rec_secdelay>0) |
| | | { |
| | | rec_secdelay--; |
| | | // if(rec_secdelay>0) |
| | | // { |
| | | // rec_secdelay--; |
| | | // if(lora_jianting_flag) |
| | | // { |
| | | // if(++group_id>GROUP_NUM) |
| | | // { |
| | | // group_id = 1; |
| | | // } |
| | | // |
| | | // t22[ti++] = group_id; |
| | | // if(ti>=20) |
| | | // ti=0; |
| | | // group_min_dist[group_id] = 0xffff; |
| | | // Radio.Standby(); |
| | | // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); |
| | | // Radio.Rx(0); |
| | | // } |
| | | return; |
| | | } |
| | | // //找3个小组中最近距离最大的小组,上传报文后切换到这个小组,因为上传报文会时间占用。 |
| | | // return; |
| | | // } |
| | | //找3个小组中最近距离最大的小组,上传报文后切换到这个小组,因为上传报文会时间占用。 |
| | | // if(group_min_dist[1]>group_min_dist[2]) //如果1大于2 |
| | | // { |
| | | // group_maxdist_index = group_min_dist[1]>group_min_dist[3]?1:3; //取 1和3 最大值 |
| | |
| | | // group_mindist_index = group_min_dist[1]<group_min_dist[3]?1:3;//取 1和3 最小值 |
| | | |
| | | // } |
| | | // group_id = group_maxdist_index; |
| | | // group_min_dist[group_id] = 0xffff; |
| | | // Radio.Standby(); |
| | | // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); |
| | | // Radio.Rx(0); |
| | | // group_id = 1; |
| | | // group_id = group_maxdist_index; |
| | | t22[ti++] = group_id; |
| | | if(ti>=20) |
| | | ti=0; |
| | | group_min_dist[group_id] = 0xffff; |
| | | Radio.Standby(); |
| | | SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); |
| | | Radio.Rx(0); |
| | | LedTask(); |
| | | LoraReportPoll(); |
| | | LedOff_task(); |