From f8013e4f432b323dfc3e3725a62858e73176742a Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期五, 01 十一月 2024 15:16:32 +0800
Subject: [PATCH] 更换了新的sdk,测试了实际的uwb测距

---
 keil/include/board/board.h |   66 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 26 deletions(-)

diff --git a/keil/include/board/board.h b/keil/include/board/board.h
index acfa2f3..ea12ec1 100644
--- a/keil/include/board/board.h
+++ b/keil/include/board/board.h
@@ -45,12 +45,21 @@
 #include "mk_trace.h"
 #include "mk_gpio.h"
 
+#ifndef TRACE_BAUD_RATE
+#define TRACE_BAUD_RATE (BAUD_921600)
+#endif
+
+#ifndef X38M4_AUTO_TUNE_EN
+#define X38M4_AUTO_TUNE_EN (0)
+#else
+#endif
+
 /*   LGA                CSP
 IO00 - UART1 RX         - UART1 RX
 IO01 - UART1 TX         - UART1 TX (trace port)
 IO02 - Ranging Role     - Ranging Role
 IO03 -                  - ISP_EN
-IO04 -                  - UCI Handshake S->H
+IO04 - Ranging Role     - UCI Handshake S->H | Ranging Role
 IO05 - UART0_TX         - UART0_TX | SPI_MISO
 IO06 - UART0_RX         - UART0_RX | SPI_MOSI
 IO07 - LED              - LED      | SPI_CLK
@@ -82,16 +91,23 @@
 /** UCI handshake pin, from slave to host */
 #define SLAVE2HOST_HS_GPIO (IO_PIN_4)
 
+/** Ranging role pin */
+#if (X38M4_AUTO_TUNE_EN == 2)
+#define RANGING_ROLE_PIN (IO_PIN_4)
+#else
+#define RANGING_ROLE_PIN (IO_PIN_2)
+#endif
+
 #define CALIB_CH9 0
 #define CALIB_CH5 1
 #define CALIB_CH2 2
 #define CALIB_CH_NUM 3
-#define SLEEP_TIMER_NUM 496
+
 #define CALIB_CH(x) (x == 9 ? 0 : (x == 5 ? 1 : 2))
 
 enum BOARD_NVM_ITEM_ID_T
 {
-    BOARD_LOAD_CAP = 1,
+    BOARD_X38M4_LOAD_CAP = 1,
     BOARD_LOCAL_SHORT_ADDR = 2,
     BOARD_PEER_SHORT_ADDR = 3,
     BOARD_RANGING_SESSION_ID = 4,
@@ -104,13 +120,16 @@
     BOARD_PDOA_ANT_SPACE = 11,
     BOARD_PDOA_OFFSETS = 12,
     BOARD_X32K_LOAD_CAP = 13,
+    BOARD_CALIB_X38M4_TEMPERATURE = 14,
+    BOARD_CALIB_X38M4_PPM = 15,
+    BOARD_ANGLE_CORRECTION = 16,
 };
 
 /* Board parameters */
 struct BOARD_PARAM_T
 {
     uint32_t flag;
-    uint8_t load_cap;
+    uint8_t x38m4_load_cap;
     uint8_t tx_power_fcc[CALIB_CH_NUM]; // [CH9, CH5, CH2]
     uint16_t ranging_session_id;
     uint16_t local_short_addr;
@@ -123,6 +142,10 @@
     uint8_t dev_role;
     uint8_t dev_role_idx;
     uint8_t x32k_load_cap;
+    int16_t calib_x38m4_temperature; // degree centigrade
+    int16_t calib_x38m4_ppm;         // unit is 0.01 ppm
+    // [azimuth_correction[8],elevation_correction[8]],azimuth_correction[8]=[k,b,s1,k1,b1,s2,k2,b2],k=gain*0.001,b=offset*0.1,s=angle_threshold*0.1
+    int16_t angle_correction[16];
 };
 
 #if defined(__cplusplus)
@@ -181,23 +204,23 @@
 void board_ranging_result_correct(uint16_t *distance, int16_t *azimuth, int16_t *elevation);
 
 /**
+ * @brief Get XTAL 38.4M Frequency offset.
+ * @param[in] p_ppm         pointer of the ppm to be written, unit is 0.01 ppm
+ * @return
+ *         @arg DRV_DEV_UNAVAILABLE     get unavaliable value
+ *         @arg DRV_ERROR               adc_get error id
+ *         @arg DRV_BUSY                adc_get send failed because of ADC is busy
+ *         @arg DEV_OK                  get ppm success
+ */
+int32_t board_x38m4_ppm_get(int32_t *p_ppm);
+
+/**
  * @brief Configure button GPIO.
  * @param[in] irq_handler       button interrupt process handler
  *
  */
 void board_button_init(GPIO_IRQ_HANDLER_T irq_handler);
-/**
- * @brief Configure button GPIO.
- * @param[in] irq_handler 5v input interrupt process handler
- *
- */
-void board_5V_input_init(GPIO_IRQ_HANDLER_T irq_handler);
-/**
- * @brief Configure button GPIO.
- * @param[in] irq_handler accelerate input interrupt process handler
- *
- */
-void board_acceleration_detection_init(GPIO_IRQ_HANDLER_T irq_handler);
+
 /**
  * @brief Configure LED GPIO.
  *
@@ -242,16 +265,7 @@
  *
  */
 void board_restore_from_power_down(void);
-/**
- * @brief Change uart1 gps to debug.
- *
- */
-void uart1_change_from_gps_to_debug(void);
-/**
- * @brief Change uart1 debug to gps.
- *
- */
-void uart1_change_from_debug_to_gps(void);
+
 #if defined(__cplusplus)
 }
 #endif

--
Gitblit v1.9.3