From 9e4167eeef5b1841936266300ec20443d372c5da Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期五, 18 三月 2022 16:28:38 +0800 Subject: [PATCH] 初次完成 --- 源码/核心板/Src/application/dw_app.h | 41 ++++++++++++++++++++++++++++------------- 1 files changed, 28 insertions(+), 13 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" index b7a69d9..70ce920 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" @@ -18,12 +18,18 @@ #include <stdio.h> #include "beep.h" #include <math.h> -//#define WORK_MODE_TAG -#define WORK_MODE_ANCHOR +#include "TrackingDiff.h" + +#define USART_SINGLE_OUTPUT +//#define USART_INTEGRATE_OUTPUT +//#define USART_ALL_OUTPUT + //#define NEWBOARD //#define TAG_OUTPUT #define HEX_OUTPUT + +#define MAX_NEARBASE_NUM 12 #define REPOET_ANC_NUM 1 #define REPOET_ANC_NUM_MIN 1 @@ -32,7 +38,8 @@ #define TAG_NUM_IN_SYS 256 #define DFT_RAND_DLY_TIM_MS 1 #define QUIT_SLOT_TIME 5 - +#define KEEP_TIMES 3 +#define SLOT_SCALE 0.7 #define RNG_DELAY_MS 100 /* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */ @@ -50,11 +57,11 @@ * frame length of approximately 2.66 ms with above configuration. */ #define RESP_RX_TO_FINAL_TX_DLY_UUS 410 /* Receive response timeout. See NOTE 5 below. */ -#define RESP_RX_TIMEOUT_UUS 600 +#define RESP_RX_TIMEOUT_UUS 2000 -#define DELAY_BETWEEN_TWO_FRAME_UUS 240 +#define DELAY_BETWEEN_TWO_FRAME_UUS 400 -#define POLL_RX_TO_RESP_TX_DLY_UUS 420 +#define POLL_RX_TO_RESP_TX_DLY_UUS 470 /* This is the delay from the end of the frame transmission to the enable of the receiver, as programmed for the DW1000's wait for response feature. */ #define RESP_TX_TO_FINAL_RX_DLY_UUS 200 /* Receive final timeout. See NOTE 5 below. */ @@ -82,7 +89,11 @@ #define DIST_IDX 10 #define ANCTIMEMS 14 #define ANCTIMEUS 16 -#define TAGSLOTPOS 8 +#define MAINBASE_INDEX 18 +#define MOTORSTATE_INDEX 19 +#define REMOTEPARA_INDEX 20 + +#define TAGSLOTPOS 7 //Final #define FINAL_MSG_POLL_TX_TS_IDX 10 #define FINAL_MSG_RESP_RX_TS_IDX 14 @@ -90,16 +101,19 @@ #define FINAL_MSG_RESP_RX_NEARBASE_IDX 22 #define FINAL_MSG_TS_LEN 4 //SYNC +#define ANCHOR_ID_IDX 1 #define SYNC_SEQ_IDX 5 //NEAR MSG +#define NEARMSG_EMPTYSLOTPOS_INDEX 1 //RESPONSE #define NEARBASENUM_INDEX 10 #define NEARBASEID_INDEX 11 //NEAR POLL -#define BATTARY_IDX 1 -#define BUTTON_IDX 2 #define SEQUENCE_IDX 3 +#define BATTARY_IDX 4 +#define BUTTON_IDX 7 -#define THRESHOLD_CHANGE_MAINBASE_DIST 50 +#define REMOTEPARA_LEN 18 +#define THRESHOLD_CHANGE_MAINBASE_DIST 5 extern u8 neartimout_timer; extern u16 slottime,tyncpoll_time,max_slotpos; extern u16 poll_timer,tag_timer; @@ -112,7 +126,7 @@ extern uint32_t g_UWB_com_interval; extern float dis_after_filter; extern LPFilter_Frac* p_Dis_Filter; //测距用的低通滤波器 -extern u8 usart_send[25]; +extern u8 usart_send[100],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];; void IdleTask(void); uint16_t Checksum_u16(uint8_t* pdata, uint32_t len); @@ -120,10 +134,11 @@ void Tag_App(void); void Anchor_App(void); void tag_sleep_configuraion(void); -extern uint16_t g_Tagdist[TAG_NUM_IN_SYS]; +extern int32_t g_Tagdist[TAG_NUM_IN_SYS]; extern uint8_t g_flag_Taggetdist[256]; extern void TagDistClear(void); void Dw1000_App_Init(void); void TagListUpdate(void); -void SyncPoll(u8 sync_seq); +void SyncPoll(u8 sync_seq,uint32_t sync_baseid); +u8 GetRandomSlotPos(uint32_t emptyslot); #endif -- Gitblit v1.9.3