WXK
2025-02-11 e328ebef585cea2351b37117b2d5ac4978ecd3c0
keil/include/components/app/src/ranging_simple_task.c
@@ -147,6 +147,12 @@
                const struct UWB_PKT_TX_DONE_IND_T *ind = (const struct UWB_PKT_TX_DONE_IND_T *)param;
                uint8_t flag_print = 1;
                if (ind->status != UWB_TX_OK)
                {
                    LOG_INFO(TRACE_MODULE_APP, "UWB TX fail  0x%04x\r\n", ind->status);
                    break;
                }
                switch (ind->ranging_stage)
                {
                    case RANGING_SYNC:
@@ -268,15 +274,7 @@
                    if (ind->ranging_stage == RANGING_POLL)
                    {
                        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
                        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
                        struct RANGING_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
                        struct TWR_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
                        uint8_t NLoS, FoM;
                        ranging_fom_get(&NLoS, &FoM);
                        range_result->NLoS = NLoS;
@@ -328,7 +326,7 @@
                            double tof_f = (double)TIMESTAMP_UNIT_TO_NS(ranging_env.tof);
                            struct RANGING_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
                            struct TWR_MEASUREMENT_T *range_result = &ranging_env.range_data.measurements[0];
                            // update distance result
                            range_result->distance = (uint16_t)(tof_f * 0.299702547 * VP_VAL - RANGING_CORR);
@@ -422,6 +420,14 @@
                        {
                            LOG_INFO(TRACE_MODULE_APP, "Timestamp error\r\n");
                        }
                        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 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
                    }
                }
                else