| | |
| | | #define RANGING_PERIOD_MS (1000) |
| | | |
| | | /* This is the delay from Frame RX POLL frame to send RESP Frame */ |
| | | #define POLL_RX_TO_RESP_TX_DLY_US 670U //yuan550极限 |
| | | #define POLL_RX_TO_RESP_TX_DLY_US 550U //yuan550极限 |
| | | //#define POLL_RX_TO_RESP_TX_DLY_US 550U //yuan550极限 |
| | | |
| | | #define RESP_TX_TO_FINAL_RX_DLY_US 500U |
| | |
| | | #define MSG_COMMON_LEN 10 |
| | | |
| | | #define UWB_DELAY_TIME_US 496 |
| | | |
| | | |
| | | |
| | | uint8_t receive_flag=0; |
| | | struct mk_uwb_configure |
| | | { |
| | |
| | | // .phy_cfg.sts_seglen = STS_SEGLEN_BPRF_64, /* Number of symbols in an STS segment */ |
| | | // .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ |
| | | //}; |
| | | #ifdef DW1000 |
| | | #ifdef UWB_DW1000_XB |
| | | static 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 */ |
| | | .phy_cfg.mean_prf = MEAN_PRF_64M, /* Mean prf 64/128/256M */ |
| | | .phy_cfg.data_bit_rate = DATA_BR_6M8, /* Data rate 6.8M */ |
| | | .phy_cfg.sync_sym = PREAM_LEN_128, /* Preamble duration, length of preamble 128 */ |
| | | .phy_cfg.sfd_sym = NON_STD_NSFD5_8, /* Identifier for SFD sequence */ |
| | | .phy_cfg.ranging_bit = 1, /* ranging bit set 1 */ |
| | | .phy_cfg.trx_mode = TRX_MODE_15_4A, /* IEEE802.15.4z - BPRF mode */ |
| | | .phy_cfg.sts_pkt_cfg = STS_PKT_CFG_0, /* SP0 Frame */ |
| | | .phy_cfg.sts_segnum = STS_SEGNUM_BPRF_1, /* Number of STS segments in the frame */ |
| | | .phy_cfg.sts_seglen = STS_SEGLEN_BPRF_64, /* Number of symbols in an STS segment */ |
| | | .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ |
| | | }; |
| | | #endif |
| | | #ifdef UWB_DW1000_MBXJZ |
| | | static struct mk_uwb_configure config = { |
| | | .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX), |
| | | .phy_cfg.ch_num = 5, /* Channel number. */ |
| | |
| | | .phy_cfg.sts_seglen = STS_SEGLEN_BPRF_64, /* Number of symbols in an STS segment */ |
| | | .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ |
| | | }; |
| | | #endif |
| | | |
| | | #ifdef DW1000 |
| | | |
| | | //static 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 */ |
| | | // .phy_cfg.mean_prf = MEAN_PRF_64M, /* Mean prf 64/128/256M */ |
| | | // .phy_cfg.data_bit_rate = DATA_BR_6M8, /* Data rate 6.8M */ |
| | | // .phy_cfg.sync_sym = PREAM_LEN_64, /* Preamble duration, length of preamble 128 */ |
| | | // .phy_cfg.sfd_sym = NON_STD_NSFD5_8, /* Identifier for SFD sequence */ |
| | | // .phy_cfg.ranging_bit = 1, /* ranging bit set 1 */ |
| | | // .phy_cfg.trx_mode = TRX_MODE_15_4A, /* IEEE802.15.4z - BPRF mode */ |
| | | // .phy_cfg.sts_pkt_cfg = STS_PKT_CFG_0, /* SP0 Frame */ |
| | | // .phy_cfg.sts_segnum = STS_SEGNUM_BPRF_1, /* Number of STS segments in the frame */ |
| | | // .phy_cfg.sts_seglen = STS_SEGLEN_BPRF_64, /* Number of symbols in an STS segment */ |
| | | // .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ |
| | | //}; |
| | | |
| | | #elif defined STS_MODE |
| | | static struct mk_uwb_configure config = { |
| | | .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX), |
| | |
| | | Anchor_App(); |
| | | if(resp_tx_flag==0) |
| | | { |
| | | |
| | | OpenUWB(); |
| | | |
| | | } |
| | | // #ifdef STS_MODE |
| | | // valid_sts= sts_valid_check(); |
| | |
| | | memcpy(&rx_rpt, rx_report, sizeof(struct MAC_HW_REPORT_T)); |
| | | rx_length = 0; |
| | | receive_error_flag=1; |
| | | OpenUWB();//再次开启UWB接收 |
| | | |
| | | OpenUWB(); |
| | | |
| | | // OpenUWB();//再次开启UWB接收 |
| | | } |
| | | // CloseUWB(); |
| | | // OpenUWB();//再次开启UWB接收 |
| | |
| | | temp_count= phy_timer_count_get(); |
| | | temp_internal=temp_count; |
| | | resp_tx_num++; |
| | | OpenUWB();//再次开启UWB接收 |
| | | |
| | | OpenUWB(); |
| | | |
| | | // OpenUWB();//再次开启UWB接收 |
| | | //LOG_INFO(TRACE_MODULE_APP, "poll_rx_num is %d,resp_tx_num is %d\r\n",poll_rx_num,resp_tx_num); |
| | | } |
| | | // OpenUWB();//再次开启UWB接收 |
| | |
| | | { |
| | | uwbtasktimer = HIDO_TimerGetTick(); |
| | | UWBOneSecondTask(); |
| | | UWBSendUDPTask(); |
| | | // UWBSendUDPTask(); |
| | | } |
| | | } |
| | | int uwb_app_poll(void) |