| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | |
| | | #if UWB_RADAR_1TNR_MODE == 1 |
| | | // board_led_on(BOARD_LED_2); |
| | | if (radar_env.rx_ant_idx == 0) |
| | | { |
| | | power_off_radio(); |
| | |
| | | { |
| | | 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) |
| | |
| | | { |
| | | 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) |