WXK
2025-02-11 e328ebef585cea2351b37117b2d5ac4978ecd3c0
keil/include/components/app/src/ranging_custom.c
@@ -58,7 +58,7 @@
#include "board.h"
#if PDOA_3D_EN
#define PDOA_3D_SUPPORT_NUM 100
#define PDOA_3D_SUPPORT_NUM 10
#define PDOA_3D_TIMEOUT_MS 2000
static struct PDOA_3D_MAC_ADDR_T mac_addr_cache[PDOA_3D_SUPPORT_NUM];
static struct PDOA_3D_PDOA_DATA_T pdoa_data_cache[PDOA_3D_SUPPORT_NUM];
@@ -197,7 +197,7 @@
    aoa_param_config();
#if PDOA_3D_EN
    pdoa_3d_param_config(ANT_PATTERN, ANT_LAYOUT, PDOA_3D_AMBIGUITY_LEVEL_HIGH, mac_addr_cache, pdoa_data_cache, PDOA_3D_SUPPORT_NUM, PDOA_3D_TIMEOUT_MS);
    pdoa_3d_param_config(ANT_PATTERN, ANT_LAYOUT, PDOA_3D_AMBIGUITY_LEVEL_NONE, mac_addr_cache, pdoa_data_cache, PDOA_3D_SUPPORT_NUM, PDOA_3D_TIMEOUT_MS);
    // pdoa_angle_reverse_set(1, 0);
#endif
@@ -497,7 +497,7 @@
    ranging_user_pkt.msg.result_msg[0] = responder_id & 0xff;
    ranging_user_pkt.msg.result_msg[1] = (responder_id >> 8) & 0xff;
    struct RANGING_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
    struct TWR_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
    ranging_user_pkt.msg.result_msg[2] = range_result->distance & 0xff;
    ranging_user_pkt.msg.result_msg[3] = (range_result->distance >> 8) & 0xff;
@@ -690,7 +690,7 @@
                    target_time = ranging_env.anchor_point - LPM_PPM_COMPENSATION(LOW_POWER_CLOCK_PPM, uwb_app_config.session_param.ranging_interval);
                    mac_rx(EVT_MODE_MAC_ASAP_PHY_FIX, target_time - UWB_RX_OPEN_IN_ADVANCE,
                           UWB_RX_WINDOW + LPM_PPM_COMPENSATION(LOW_POWER_CLOCK_PPM, uwb_app_config.session_param.ranging_interval));
                           UWB_RX_WINDOW + 2 * LPM_PPM_COMPENSATION(LOW_POWER_CLOCK_PPM, uwb_app_config.session_param.ranging_interval));
                    power_mode_request(POWER_UNIT_APP, POWER_MODE_SLEEP);
                    ranging_env.responder_final_flag = 0;
                }
@@ -847,8 +847,8 @@
#if RANGING_FOM_FILTER_EN
                            // update response taps
                            ranging_env.frame[responder_idx].fap_valid =
                                first_path_align(ranging_env.frame[responder_idx].gaps, &ranging_env.frame[responder_idx].gaps_num, debug_csi.rframe[0].cir,
                                                 debug_csi.rframe[0].first_tap, PWR_TH, TAP_MARGIN);
                                first_path_align(ranging_env.frame[responder_idx].gaps, &ranging_env.frame[responder_idx].gaps_num, debug_csi.frame[0].cir,
                                                 debug_csi.frame[0].first_tap, PWR_TH, TAP_MARGIN);
#endif
                        }
                    }
@@ -1176,8 +1176,9 @@
        ind->hdr.event = UWB_PKT_RX_DONE_MSG;
        ind->ranging_stage = (uint8_t)stage;
        ind->status = rx->err_code;
        ind->rssi = rx->rssi;
        ind->snr = rx->snr;
        // ind->rssi = rx->rssi;
        ind->rssi = correct_rssi(rx->rssi);
        ind->snr = correct_snr(rx->snr);
        if (rx->err_code == UWB_RX_OK)
        {
@@ -1198,8 +1199,9 @@
        if (ranging_debug_csi_en_get())
        {
            uint8_t frame_idx = (ind->ranging_stage == RANGING_FINAL ? 1 : 0);
            debug_csi.antenna = ranging_env.main_ant_id;
            debug_csi.frame_idx = frame_idx;
            debug_csi.rframe_idx = frame_idx;
            uint32_t val = REG_READ(0x40003050);
            debug_csi.frame[frame_idx].rf_gain = (val & 0x07);
@@ -1211,7 +1213,8 @@
            {
                debug_csi.frame[frame_idx].rssi = ind->rssi;
                debug_csi.frame[frame_idx].snr = ind->snr;
                debug_csi.frame[frame_idx].channel_power = REG_READ(0x40002064);
                debug_csi.frame[frame_idx].noise_power = REG_READ(0x40002078);
                dump_preamble_cir(frame_idx, 128);
                dump_sts_cir(frame_idx);
            }