| | |
| | | //resp函数 |
| | | void PushAnchorDataArray(uint16_t ancid,int16_t dist,uint8_t battary);//找到自己的id信息对应位置更新自己的交互信息 |
| | | static void resp_msg_set_ts(uint8_t *ts_field, int64_t ts);//用来对应位置放入时间戳 |
| | | static uint16_t tagid_list[TAG_NUM_IN_SYS]; |
| | | uint16_t tagid_list[TAG_NUM_IN_SYS]; |
| | | uint16_t CmpTagInList(uint16_t tagid); |
| | | uint8_t Anchor_RecNearPoll(uint8_t ancrec_nearbasepos); |
| | | static uint8_t send_buffer[100]; |
| | | static uint8_t tagofflinetime[TAG_NUM_IN_SYS]; |
| | | uint8_t tagofflinetime[TAG_NUM_IN_SYS]; |
| | | uint32_t temp_count=0; |
| | | uint32_t temp_count1=0; |
| | | uint32_t temp_endcount1=0; |
| | |
| | | // .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ |
| | | //}; |
| | | #ifdef UWB_MK8000_XB |
| | | static struct mk_uwb_configure config = { |
| | | struct mk_uwb_configure config = { |
| | | .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX), |
| | | .phy_cfg.ch_num = 5, /* Channel number. */ |
| | | .phy_cfg.code_index = 9, /* TRX preamble code */ |
| | |
| | | }; |
| | | #endif |
| | | #ifdef UWB_DW1000_MBXJZ_OLD |
| | | static struct mk_uwb_configure config = { |
| | | struct mk_uwb_configure config = { |
| | | .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX), |
| | | .phy_cfg.ch_num = 5, /* Channel number. */ |
| | | .phy_cfg.code_index = 9, /* TRX preamble code */ |
| | |
| | | } |
| | | uint32_t start_receive_count,end_receive_count,poll_timeout,current_count,temp_resp; |
| | | uint16_t anchordata_id[TAG_NUM_IN_SYS],anchordata_dist[TAG_NUM_IN_SYS]; |
| | | static uint8_t anchordata_bat[TAG_NUM_IN_SYS]; |
| | | static int8_t anchor_rssi[TAG_NUM_IN_SYS]; |
| | | uint8_t anchordata_bat[TAG_NUM_IN_SYS]; |
| | | int8_t anchor_rssi[TAG_NUM_IN_SYS]; |
| | | uint8_t anchordata_num = 0; |
| | | static int16_t tagdist_list[TAG_NUM_IN_SYS]; |
| | | int16_t tagdist_list[TAG_NUM_IN_SYS]; |
| | | uint16_t random_time; |
| | | //anchor |
| | | int32_t hist_dist; |
| | |
| | | uwb_losttimer=g_com_map[UWB_RNAGE_TIME]+1;//防止溢出 |
| | | } |
| | | extern uint16_t gaodu; |
| | | extern uint8_t jingzhi_flag; |
| | | void UWBSendUDPTask(void) |
| | | { |
| | | uint16_t checksum,tempdistarray[20]; |
| | |
| | | usart_send[7] = (tagseq++)>>8; |
| | | usart_send[8] = bat_percent; |
| | | // usart_send[8] = rxnum; |
| | | usart_send[9] = userkey_state|0<<1|0<<2|0<<5|uwb_state<<6; |
| | | usart_send[9] = userkey_state|jingzhi_flag<<1|0<<2|0<<5|uwb_state<<6; |
| | | // memcpy(&usart_send[10],&rec_tagheight,2); |
| | | memcpy(&usart_send[12],gaodu,2); |
| | | // usart_send[12] = 0; |
| | |
| | | checksum = Checksum_u16(&usart_send[2],15+5*taglist_num); |
| | | memcpy(&usart_send[17+5*taglist_num],&checksum,2); |
| | | HexToAsciiSendUDP(usart_send,19+5*taglist_num); |
| | | // taglist_num = 0; |
| | | taglist_num = 0; |
| | | // rxnum=0; |
| | | } |
| | | extern uint32_t step_count; |
| | |
| | | step_count = mir3da_get_step(); // 获取步数 |
| | | uwbtasktimer = HIDO_TimerGetTick(); |
| | | UWBOneSecondTask(); |
| | | if(g_com_map[UWBFrequency]==1&&uwb_OpenClose_flag==1) |
| | | if(g_com_map[UWBFrequency]==1&&uwb_OpenClose_flag==1&¤t_state==STATE_NORMAL&&g_com_map[UWBENBLE]==1) |
| | | { |
| | | UWBSendUDPTask(); |
| | | } |
| | |
| | | uint8_t i; |
| | | uint16_t tempid; |
| | | uwb_offtime_count=0; |
| | | #ifdef CEJU_ZIUMIAN |
| | | #ifdef CEJU_XIUMIAN |
| | | current_state = STATE_NORMAL; |
| | | #endif |
| | | if(group_id==rx_buf[GROUP_ID_IDX]&&rx_buf[MESSAGE_TYPE_IDX] == MBX_POLL)//判断是否是和自己是同一组通讯的且为poll包 |
| | |
| | | // Anchor_RecNearPoll(i); |
| | | // } |
| | | taglist_pos=CmpTagInList(tag_id_recv); |
| | | if(taglist_num>=TAG_NUM_IN_SYS) |
| | | if(taglist_pos>=TAG_NUM_IN_SYS) |
| | | return 0; |
| | | for(i=0; i<rec_nearbase_num; i++) |
| | | { |