From adfc7e798b9cbdd022bf8df971843436912a0fe5 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期日, 20 七月 2025 16:58:30 +0800
Subject: [PATCH] 成功移植g_com_map表逻辑,初步测试能读能写,并且TDOA效果和官方一致

---
 keil/include/components/app/src/ul_tdoa.c |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/keil/include/components/app/src/ul_tdoa.c b/keil/include/components/app/src/ul_tdoa.c
index 43f7d63..1e049f6 100644
--- a/keil/include/components/app/src/ul_tdoa.c
+++ b/keil/include/components/app/src/ul_tdoa.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019-2023 Beijing Hanwei Innovation Technology Ltd. Co. and
+ * Copyright (c) 2019-2025 Beijing Hanwei Innovation Technology Ltd. Co. and
  * its subsidiaries and affiliates (collectly called MKSEMI).
  *
  * All rights reserved.
@@ -118,10 +118,11 @@
     srand(seed);
     LOG_INFO(TRACE_MODULE_APP, "Random seed %u\r\n", seed);
 
-    phy_rx_sts_switch_mode_set(uwb_app_config.ppdu_params.sts_pkt_cfg, STS_NEVER_SWITCH, 0, 0);
     uwbs_configure(PHY_TX | PHY_RX, uwb_app_config.session_param.tx_power_level);
 
-    aoa_param_config();
+    phy_rx_sts_switch_mode_set(uwb_app_config.ppdu_params->sts_pkt_cfg, STS_NEVER_SWITCH, 0, 0);
+
+    sts_param_config(uwb_app_config.ppdu_params->sts_pkt_cfg, STS_AUX_ANT_IQ_RSSI, STS_BUF_NUM, STS_BUF_SIZE);
 }
 
 static uint32_t ul_tdoa_tx_offset_get(void)
@@ -258,10 +259,8 @@
         }
         if (count > MS_TO_PHY_TIMER_COUNT(2))
         {
-            power_on_radio(0, 1);
             ul_tdoa_env.stage = UL_TDOA_LISTEN;
-            mac_rx(EVT_MODE_MAC_PHY_ASAP, 0, count - MS_TO_PHY_TIMER_COUNT(2));
-            mac_start();
+            uwb_rx(RX_MODE_IMMEDIATE, 0, count - MS_TO_PHY_TIMER_COUNT(2));
         }
         else
         {
@@ -276,10 +275,8 @@
     }
     else
     {
-        power_on_radio(0, 1);
         ul_tdoa_env.stage = UL_TDOA_LISTEN;
-        mac_rx(EVT_MODE_MAC_PHY_ASAP, 0, ul_tdoa_env.random_window);
-        mac_start();
+        uwb_rx(RX_MODE_IMMEDIATE, 0, ul_tdoa_env.random_window);
     }
 
     ul_tdoa_env.enable = 1;
@@ -301,14 +298,16 @@
     enum OWR_MESSAGE_TYPE_T type = (uwb_app_config.session_param.device_role == DEV_ROLE_UT_SYNC_ANCHOR ? OWR_SYNV_UTM : OWR_BLINK_UTM);
 
     ul_tdoa_pkt_construct(type, tx_time);
-    power_on_radio(1, 0);
-    mac_tx(EVT_MODE_MAC_ASAP_PHY_FIX, ul_tdoa_env.anchor_point + ul_tdoa_env.tx_offset, 0, tx_msg, tx_msg_len);
-    mac_start();
+
+    uwb_tx(tx_msg, tx_msg_len, TX_MODE_DEFER, ul_tdoa_env.anchor_point + ul_tdoa_env.tx_offset);
 }
 
 void ul_tdoa_process(const struct MAC_HW_REPORT_T *ind)
 {
     enum DEV_ROLE_T role = uwb_app_config.session_param.device_role;
+    // Power off radio
+    power_off_radio();
+
     if (role == DEV_ROLE_UT_SYNC_ANCHOR)
     {
         if (ul_tdoa_env.stage == UL_TDOA_LISTEN)
@@ -337,14 +336,12 @@
         if (count > MS_TO_PHY_TIMER_COUNT(2))
         {
             ul_tdoa_env.stage = UL_TDOA_LISTEN;
-            mac_rx(EVT_MODE_MAC_PHY_ASAP, 0, count - MS_TO_PHY_TIMER_COUNT(2));
-            mac_start();
+            uwb_rx(RX_MODE_IMMEDIATE, 0, count - MS_TO_PHY_TIMER_COUNT(2));
         }
         else
         {
             ul_tdoa_env.stage = UL_TDOA_TX_SYNC;
             phy_timer_target_set(ul_tdoa_env.anchor_point + ul_tdoa_env.tx_offset - UWB_PERIOD_PREFETCH_TIME, ul_tdoa_timer_callback);
-            power_off_radio();
         }
     }
     else if (role == DEV_ROLE_UT_TAG)
@@ -354,7 +351,6 @@
         ul_tdoa_env.anchor_point += ul_tdoa_env.ranging_period;
 
         phy_timer_target_set(ul_tdoa_env.anchor_point + ul_tdoa_env.tx_offset - UWB_PERIOD_PREFETCH_TIME, ul_tdoa_timer_callback);
-        power_off_radio();
 
         LOG_INFO(TRACE_MODULE_APP, "UL-TDoA TX Blink  %u\r\n", ul_tdoa_env.sequence_num);
     }
@@ -366,8 +362,7 @@
             ul_tdoa_rx_ind(ind->err_code, ind->pkt_data, ind->pkt_len, timestamp);
         }
 
-        mac_rx(EVT_MODE_MAC_PHY_ASAP, 0, ul_tdoa_env.random_window);
-        mac_start();
+        uwb_rx(RX_MODE_IMMEDIATE, 0, ul_tdoa_env.random_window);
     }
 }
 

--
Gitblit v1.9.3