From f8013e4f432b323dfc3e3725a62858e73176742a Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期五, 01 十一月 2024 15:16:32 +0800 Subject: [PATCH] 更换了新的sdk,测试了实际的uwb测距 --- keil/include/components/app/src/uwb_data_transfer_task.c | 38 ++++++++++++++++++++++++++++---------- 1 files changed, 28 insertions(+), 10 deletions(-) diff --git a/keil/include/components/app/src/uwb_data_transfer_task.c b/keil/include/components/app/src/uwb_data_transfer_task.c index 16d2d1c..a48bd4b 100644 --- a/keil/include/components/app/src/uwb_data_transfer_task.c +++ b/keil/include/components/app/src/uwb_data_transfer_task.c @@ -64,6 +64,14 @@ if (msg != NULL) { +#if UWB_SERIAL_DATA_TRANSFER_EN == 0 + uwb_data_transfer_send_test(); +#else +#if ((UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_0) || (UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_1)) + uwb_serial_tx_msg_check(); + uwb_serial_rx_msg_check(); +#endif +#endif switch (msg->event) { case UWB_PKT_TX_DONE_MSG: @@ -79,9 +87,15 @@ } else if ((ind->ranging_stage == RANGING_DM_TX) && (ind->tx_len)) { + LOG_INFO(TRACE_MODULE_APP, "[TX][%d][%u] DM \r\n", ind->slot_idx, ind->tx_len); +#if ((UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_0) || (UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_1)) + uwb_serial_data_transfer_tx_done(); +#endif + } + else + { LOG_INFO(TRACE_MODULE_APP, "[TX][%d][%u] DM\r\n", ind->slot_idx, ind->tx_len); } - #if DM_PRINT_PAYLOAD_EN if (ind->tx_len) { @@ -113,7 +127,7 @@ int32_t freq_offset = phy_freq_offset_get(); int32_t freq_offset_filter = average_filter(freq_offset); LOG_INFO(TRACE_MODULE_APP, "CH Freq Offset %d\r\n", freq_offset_filter); -#if XTAL_AUTO_TUNE_EN +#if X38M4_AUTO_TUNE_EN int32_t ppm = freq_offset_filter / (int32_t)(ch_center_freq_map[uwb_app_config.ppdu_params.ch_num] * 1e-6); calib_xtal38m4_load_cap_auto_tune(ppm); #endif @@ -122,11 +136,19 @@ { LOG_INFO(TRACE_MODULE_APP, "[RX][%d][%u] DM\r\n", ind->slot_idx, ind->rx_len); - if (uwb_dm_rx_is_done()) + if (ind->rx_len > 33) { -#if UWB_SERIAL_DATA_TRANSFER_EN - uwb_serial_rx_msg_update(uwb_dm_rx_pkt()); -#endif +#if ((UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_0) || (UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_1)) + struct DM_MDSDU_T *rx = uwb_dm_rx_pkt(); + uwb_receive_cb_write(&ind->rx_data[36], rx->len); + +#elif UWB_DATA_TRANSFER_MODE == UCI_DATA_TRANSFER_MODE + struct DM_MDSDU_T *rx = uwb_dm_rx_pkt(); + struct DATA_TRANSFER_T range_data; + memcpy(range_data.data, &ind->rx_data[36], rx->len); + range_data.length = rx->len; + uwbapi_report_ranging_data(&range_data); +#endif //((UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_0) || (UWB_DATA_TRANSFER_MODE == SERIAL_DATA_TRANSFER_MODE_1)) } } @@ -152,10 +174,6 @@ default: break; } -#if UWB_SERIAL_DATA_TRANSFER_EN - uwb_serial_tx_msg_check(); - uwb_serial_rx_msg_check(); -#endif } // Handle events else -- Gitblit v1.9.3