zhyinch
2021-06-21 30fc49c1a14d7cec02ce73f126afe3e4994c6082
Ô´Âë/ºËÐİå/Src/application/dw_app.h
@@ -19,15 +19,16 @@
#include "beep.h"
#include <math.h>
#define USART_INTEGRATE_OUTPUT
//#define WORK_MODE_TAG
//#define USART_INTEGRATE_OUTPUT
//#define TAG_OUTPUT
//#define DEBUG_INF
//#define NEWBOARD
//#define TAG_OUTPUT
#define HEX_OUTPUT
#define MAX_NEARBASE_NUM 12
#define MAX_RFPOWER   67
#define DEFAULT_RFPOWER   30
#define REPOET_ANC_NUM 1
#define REPOET_ANC_NUM_MIN 1
#define TAG_ID_START       0// 0x00980000
@@ -35,8 +36,8 @@
#define TAG_NUM_IN_SYS            256
#define DFT_RAND_DLY_TIM_MS         1
#define QUIT_SLOT_TIME    5
#define KEEP_TIMES 10
#define KEEP_TIMES 3
#define SLOT_SCALE 0.24
#define RNG_DELAY_MS 100
/* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */
@@ -56,11 +57,11 @@
/* Receive response timeout. See NOTE 5 below. */
#define RESP_RX_TIMEOUT_UUS 2000
#define DELAY_BETWEEN_TWO_FRAME_UUS 240
#define DELAY_BETWEEN_TWO_FRAME_UUS 250
#define POLL_RX_TO_RESP_TX_DLY_UUS 470
#define POLL_RX_TO_RESP_TX_DLY_UUS 670
/* 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
#define RESP_TX_TO_FINAL_RX_DLY_UUS 0
/* Receive final timeout. See NOTE 5 below. */
#define FINAL_RX_TIMEOUT_UUS 4300
@@ -75,6 +76,10 @@
#define NEAR_POLL                  0x06
#define NEAR_RESPONSE            0x07
#define NEAR_FINAL                  0x08
#define SPOLL                          0x09
#define REG_POLL                     0x10
#define REG_RESPONSE               0x11
//General
#define GROUP_ID_IDX               0
#define ANCHOR_ID_IDX             1
@@ -87,9 +92,13 @@
#define ANCTIMEMS             14
#define ANCTIMEUS             16
#define MAINBASE_INDEX        18
#define MOTORSTATE_INDEX      19
#define NR_NEARSWITCH_DISTANCE   20
#define REMOTEPARA_INDEX      22
#define TAGSLOTPOS                  7
//Final
#define TAGCONFIGSUCCESS_INDEX 7
#define FINAL_MSG_POLL_TX_TS_IDX 10
#define FINAL_MSG_RESP_RX_TS_IDX 14
#define FINAL_MSG_FINAL_TX_TS_IDX 18
@@ -100,14 +109,23 @@
#define SYNC_SEQ_IDX             5
//NEAR MSG
#define NEARMSG_EMPTYSLOTPOS_INDEX       1 //RESPONSE
#define NEARBASENUM_INDEX    10
#define NEARBASEID_INDEX       11
#define NEARBASENUM_INDEX    18
#define NEARBASEID_INDEX       19
//NEAR POLL
#define BATTARY_IDX                  1
#define BUTTON_IDX                  2
#define SEQUENCE_IDX               3
#define BATTARY_IDX                  4
#define BUTTON_IDX                  7
#define SEQUENCEH_IDX               8
#define NEARP_TAGFREQ_INDEX  10
#define NEARP_TAGSLOTPOS_INDEX  12
//REG RESPONSE
#define REGR_TAGFREQ_INDEX  10
#define REGR_TAGSLOTPOS_INDEX  12
#define REGR_BASENUM_INDEX    18
#define REGR_BASEID_INDEX       19
#define THRESHOLD_CHANGE_MAINBASE_DIST   5
#define REMOTEPARA_LEN 18
#define THRESHOLD_CHANGE_MAINBASE_DIST   500
extern u8 neartimout_timer;
extern u16 slottime,tyncpoll_time,max_slotpos;
extern u16 poll_timer,tag_timer;
@@ -120,7 +138,7 @@
extern uint32_t g_UWB_com_interval;
extern float dis_after_filter;
extern LPFilter_Frac* p_Dis_Filter;      //测距用的低通滤波器
extern u8 usart_send[100],usart_send_anc[100],flag_syncbase;
extern u8 usart_send[150],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];;
void IdleTask(void);
uint16_t Checksum_u16(uint8_t* pdata, uint32_t len);
@@ -128,10 +146,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,uint32_t sync_baseid);
void SyncPoll(u8 sync_seq);
u8 GetRandomSlotPos(uint32_t emptyslot);
#endif