WXK
2025-02-11 e328ebef585cea2351b37117b2d5ac4978ecd3c0
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