keil/uwb_app.c
@@ -81,7 +81,7 @@
#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
@@ -115,6 +115,9 @@
#define MSG_COMMON_LEN 10
#define UWB_DELAY_TIME_US 496
uint8_t receive_flag=0;
struct mk_uwb_configure
{
@@ -138,7 +141,24 @@
//    .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.                           */
@@ -154,6 +174,26 @@
    .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),
@@ -316,7 +356,9 @@
      Anchor_App();
        if(resp_tx_flag==0)
        {
        OpenUWB();
        }
//         #ifdef STS_MODE
//            valid_sts= sts_valid_check();
@@ -347,7 +389,10 @@
        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接收
@@ -367,7 +412,10 @@
        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接收
@@ -706,7 +754,7 @@
   {
      uwbtasktimer = HIDO_TimerGetTick();
      UWBOneSecondTask();
        UWBSendUDPTask();
//        UWBSendUDPTask();
   }
}
int uwb_app_poll(void)