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/uwb_radar.c |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/keil/include/components/app/src/uwb_radar.c b/keil/include/components/app/src/uwb_radar.c
index 6f6eacc..e99bb62 100644
--- a/keil/include/components/app/src/uwb_radar.c
+++ b/keil/include/components/app/src/uwb_radar.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.
@@ -89,6 +89,7 @@
 
 static void uwb_radar_tx_process(struct MAC_HW_REPORT_T *tx_report)
 {
+    // board_led_on(BOARD_LED_2);
     radar_env.rx_ant_idx++;
     if (radar_env.rx_ant_idx == UWB_RADAR_RX_PORT_NUM)
     {
@@ -96,7 +97,6 @@
     }
 
 #if UWB_RADAR_1TNR_MODE == 1
-    // board_led_on(BOARD_LED_2);
     if (radar_env.rx_ant_idx == 0)
     {
         power_off_radio();
@@ -106,11 +106,11 @@
     {
         radar_start(radar_env.rx_ant_idx);
     }
-    // board_led_off(BOARD_LED_2);
 #else
     power_off_radio();
     WsfSetEvent(uwb_radar_cb.handle_id, UWB_RADAR_SAMPLING_COMPLETE_EVT);
 #endif
+    // board_led_off(BOARD_LED_2);
 }
 
 static void uwb_radar_rx_process(struct MAC_HW_REPORT_T *rx_report)
@@ -137,12 +137,12 @@
 
 void uwb_radar_alone_timer_set(void)
 {
-    WsfTimerStartMs(&uwb_radar_cb.radar_alone_timer, UWB_RADAR_INTERVAL, WSF_TIMER_PERIODIC);
+    mk_timer_list_start_timer(&uwb_radar_cb.radar_alone_timer, UWB_RADAR_INTERVAL, MK_TIMER_PERIODIC);
 }
 
 void uwb_radar_alone_timer_clr(void)
 {
-    WsfTimerStop(&uwb_radar_cb.radar_alone_timer);
+    mk_timer_list_stop_timer(&uwb_radar_cb.radar_alone_timer);
 }
 
 int uwb_radar_deinit(void)
@@ -212,7 +212,7 @@
     radar_param.lna_gain_level = uwb_app_config.session_param.uwb_radar_lna_gain_level;
     radar_param.pulse_period = uwb_app_config.session_param.uwb_radar_pulse_period;
     radar_param.ranging_tx_power_level = uwb_app_config.session_param.tx_power_level;
-    radar_param.rx_gain_level = uwb_app_config.session_param.uwb_radar_rx_gain_level;
+    radar_param.filter_gain_level = uwb_app_config.session_param.uwb_radar_filter_gain_level;
     radar_param.sts_len = uwb_app_config.session_param.uwb_radar_sts_len;
     radar_param.tx_power_level = uwb_app_config.session_param.uwb_radar_tx_power_level;
     radar_config(&radar_param);
@@ -267,13 +267,21 @@
 {
     bool ret = true;
 
-    radar_env.sample_num = idle_duration / UWB_RADAR_SLOT_DURATION;
-#if UWB_DUAL_RADAR
-    if (ranging_env.responder_slot_idx[SLOT_RESPONSE] == 2)
+    if (idle_duration > RANGING_POST_PROCESSING_TIME)
     {
-        radar_env.sample_num = (idle_duration / UWB_RADAR_SLOT_DURATION) / 2 + (idle_duration / UWB_RADAR_SLOT_DURATION) % 2;
-    }
+        idle_duration = idle_duration - RANGING_POST_PROCESSING_TIME;
+        radar_env.sample_num = idle_duration / UWB_RADAR_SLOT_DURATION;
+#if UWB_DUAL_RADAR
+        if (ranging_env.responder_slot_idx[SLOT_RESPONSE] == 2)
+        {
+            radar_env.sample_num = (idle_duration / UWB_RADAR_SLOT_DURATION) / 2 + (idle_duration / UWB_RADAR_SLOT_DURATION) % 2;
+        }
 #endif
+    }
+    else
+    {
+        radar_env.sample_num = 0;
+    }
     // LOG_INFO(TRACE_MODULE_APP, "radar rounds: %u\r\n", radar_env.sample_num);
 
     if (radar_env.sample_num)

--
Gitblit v1.9.3