user_config.h
@@ -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.
@@ -68,7 +68,7 @@
#define TRACE_STD_LIB_EN (0)
/** Configure trace level for modules: BOOT | TEST | UCI | UWB | APP | DRIVER | PHY | MAC */
#define TRACE_LVL_CONFIG_0 (0x44444004)
#define TRACE_LVL_CONFIG_0 (0x44444444)
/** Configure trace level for modules: CCC | FIRA | OS */
#define TRACE_LVL_CONFIG_1 (0x00000444)
@@ -76,9 +76,10 @@
/* =========================================================================================================================== */
/* ================                                   Power configuration                                     ================ */
/* =========================================================================================================================== */
/** Enable low power mode */
#ifndef LOW_POWER_EN
#define LOW_POWER_EN (1)
#define LOW_POWER_EN (0)
#endif
/** Enable 32.768K crystal as low power mode clock source */
@@ -86,9 +87,9 @@
#define XTAL32K_EN (1)
#endif
/** Enable DC-DC */
#ifndef DCDC_EN
#define DCDC_EN (1)
/** Configure power supply mode: 0 - Bypass mode, 1 - DC-DC mode, 2 - Current limiter mode */
#ifndef POWER_SUPPLY_MODE
#define POWER_SUPPLY_MODE (PSM_DCDC_MODE)
#endif
/** Enable BOR */
@@ -122,81 +123,98 @@
/** Configure 32K clock source @ref enum CLOCK_ATTACH_TYPE_T */
#if XTAL32K_EN
#define CLK_32K_SOURCE (CLOCK_XTAL32K_TO_32K_CLK)
#define LOW_POWER_CLOCK_PPM (50)
#define LOW_POWER_CLOCK_PPM (100)
#else
#define CLK_32K_SOURCE (CLOCK_RCO32K_TO_32K_CLK)
#define LOW_POWER_CLOCK_PPM (1000)
#endif
/** Enable system tick timer (period = 10ms), needed by OS */
#define SYS_TICK_EN (1)
/* =========================================================================================================================== */
/* ================                                    UWB configuration                                      ================ */
/* =========================================================================================================================== */
/** TX power level: 0 ~ 60 */
#define TX_POWER_LEVEL (60)
/** Enable Post-process filter */
#define FILTER_EN (0)
/** Antenna port number for AoA, 2~4 */
#define RX_AOA_ANT_PORTS_NUM (4)
/** Enable RSSI output */
#define RSSI_EN (1)
/** Antenna ports combination for AoA, @ref enum RX_ANTENNA_MODE_T */
#define RX_AOA_ANT_PORTS_COMBINATION (RX_4PORTS_ANT_3_0_1_2)
/** Antenna ports combination, @ref macro definition RX_xPORTS_ANT_xxx */
#define RX_ANT_PORTS_COMBINATION (RX_4PORTS_ANT_3_0_1_2)
/** Antenna pattern: Linear or Square */
#define SQUARE_4ANTS (0)
#define RANGING_CORR (0)
/** Velocity of propagation (%) */
#define VP_VAL (100)
/** Maximum PHY payload length */
#define PHY_PAYLOAD_LEN_MAX (127)
/* =========================================================================================================================== */
/* ================                                     Simple Selection                                      ================ */
/* =========================================================================================================================== */
//#define MK_SIMPLE_TX
 //#define MK_SIMPLE_RX
 //#define MK_DS_TWR_INIT
 //#define MK_DS_TWR_RESP
 //#define MK_DS_TWR_INIT_STS
 //#define MK_DS_TWR_RESP_STS
//#define MK_SS_TWR_DW_INIT
/** Enable PDoA 3D */
#define PDOA_3D_EN (1)
/** Enable Channel status information output */
#define CSI_EN (0)
/** Enable AoA */
#define AOA_EN (0)
#if PDOA_3D_EN
/// Antenna pattern
 #define ANT_PATTERN (ANT_PATTERN_SQUARE)
//#define ANT_PATTERN (ANT_PATTERN_LINEAR)
/// Antenna layout, @ref enum ANT_LAYOUT_T
#define ANT_LAYOUT (ANT_LAYOUT_HORIZONTAL)
#elif AOA_EN
/** TX power level: 0 ~ 60 */
#define TX_POWER_LEVEL (36)
/** Antenna ports combination, @ref macro definition RX_xPORTS_ANT_xxx */
#define RX_ANT_PORTS_COMBINATION (RX_1PORT_ANT_3)
/// Antenna pattern
#define ANT_PATTERN (ANT_PATTERN_LINEAR)
#endif
/** Enable XTAL automatic tuning, 0: disable, 1: follow peer device, 2: calibrate to central frequency (NTC) */
#define X38M4_AUTO_TUNE_EN (0)
/* ==========================================           PPDU configuration            ======================================== */
/** channel number: 2, 5, 9 */
#define UWB_CH_NUM (9)
/** mean PRF: @ref enum PRF_MODE_T */
#define UWB_MEAN_PRF (PRF_62M4)
/** preamble code index: 1 ~ 8, 9 ~ 24, 25 ~ 32 */
#define UWB_PREAMBLE_CODE_IDX (10)
/** preamble duration: @ref enum PREAMBLE_DURATION_T */
#define UWB_PREAMBLE_DURATION (SYMBOLS_64)
/** SFD ID: @ref enum SFD_ID_T */
#define UWB_SFD_ID (SFD2_LEN8)
/** PSDU data rate: @ref enum PSDU_DATA_RATE_T */
#define UWB_PSDU_DATA_RATE (BPS_6M8)
/** STS segment number: @ref enum STS_SEGMENTS_NUM_T */
#define UWB_STS_SEGMENT_NUM (STS_SEGMENTS_1)
/** STS segment length: @ref enum STS_SEGMENTS_LENGTH_T */
#define UWB_STS_SEGMENT_LEN (STS_SEG_LEN64)
/** Ranging frame packet type: @ref enum RFRAME_TYPE_T, if AoA is enabled, the frame should contain STS */
#define UWB_RFRAME_TYPE (SP1)
/** Maximum PHY payload length */
#define PHY_PAYLOAD_LEN_MAX (127)
/* ==========================================         Timing configuration            ======================================== */
/// Period prefetch time for event program from wakeup - 500us+
#define UWB_PERIOD_PREFETCH_TIME (US_TO_PHY_TIMER_COUNT(500))
/// Event prefetch time for event program - 400us
#define UWB_EVT_PREFETCH_TIME (US_TO_PHY_TIMER_COUNT(400))
/// RX window open in advance time - 10us
#define UWB_RX_OPEN_IN_ADVANCE (US_TO_PHY_TIMER_COUNT(10))
/// RX window - 750us
#define UWB_RX_WINDOW (US_TO_PHY_TIMER_COUNT(750))
/** Uplink TDoA TX interval, unit: ms */
#define UWB_UL_TDOA_INTERVAL (1000)
/** Ranging slot duration, unit: ms */
#define UWB_UL_TDOA_RAND_WINDOW (20)
/* =========================================================================================================================== */
/* ================                                           End                                             ================ */
/* =========================================================================================================================== */
#define MK_SS_TWR_DW_RESP
#define INPUT_5V_Pin  IO_PIN_11
#define RSSI_EN (0)
#define WS2812_PIN IO_PIN_7
#define WS2812_PIN IO_PIN_10
#define BUTTON_PIN IO_PIN_8
#define _4G_USART_RX_Pin     IO_PIN_17
#define ACCLERATE_DETECT_Pin IO_PIN_2
@@ -204,16 +222,21 @@
#define SER_PIN IO_PIN_3
#define SCL_PIN IO_PIN_4
#define SRCLK_PIN IO_PIN_8
#define RCLK_PIN IO_PIN_7
#define RCLK_PIN IO_PIN_11
#define ADC_GND_ENABLE  IO_PIN_12
#define PCA_INPUT_DETECT IO_PIN_17
#define GET_USERKEY  gpio_pin_get_val(SCL_PIN)
#define CHANGE_UART_PIN IO_PIN_13
#define WSF_EN
#define SLEEP_COUNT 1000
/** Velocity of propagation (%) */
#define VP_VAL (100)
#define RANGING_CORR (0)
//#define STS_MODE
//#define MK_MODE
//#define DW1000
#define STS_MODE_SQUARE
/* =========================================================================================================================== */
/* ================                                           End                                             ================ */
/* =========================================================================================================================== */