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