| | |
| | | #include <stdio.h> |
| | | #include "beep.h" |
| | | #include <math.h> |
| | | //#define WORK_MODE_TAG |
| | | #define WORK_MODE_ANCHOR |
| | | |
| | | //#define USART_INTEGRATE_OUTPUT |
| | | //#define TAG_OUTPUT |
| | | //#define DEBUG_INF |
| | | //#define NEWBOARD |
| | | //#define TAG_OUTPUT |
| | | #define HEX_OUTPUT |
| | | |
| | | #define MAX_NEARBASE_NUM 10 |
| | | |
| | | #define MAXUSERDATALEN 55 |
| | | #define ANCHORTYPE_NUM 5 |
| | | #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 |
| | |
| | | #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.24 |
| | | #define RNG_DELAY_MS 100 |
| | | |
| | | /* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */ |
| | |
| | | /* 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 420 |
| | | #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 |
| | | #define FINAL_RX_TIMEOUT_UUS 1000 |
| | | |
| | | #define SPEED_OF_LIGHT 299702547 |
| | | |
| | |
| | | #define NEAR_POLL 0x06 |
| | | #define NEAR_RESPONSE 0x07 |
| | | #define NEAR_FINAL 0x08 |
| | | #define SPOLL 0x09 |
| | | #define DISCOVERPOLL 0x0a |
| | | #define DISCOVERFINAL 0x0c |
| | | #define REG_POLL 0x10 |
| | | #define REG_RESPONSE 0x11 |
| | | //General |
| | | #define GROUP_ID_IDX 0 |
| | | #define ANCHOR_ID_IDX 1 |
| | |
| | | //Poll |
| | | #define ANC_TYPE_IDX 14 |
| | | //respose |
| | | #define DIST_IDX 10 |
| | | #define ANCTIMEMS 14 |
| | | #define ANCTIMEUS 16 |
| | | #define DIST_IDX 10 |
| | | #define ANCTIMEMS 14 |
| | | #define ANCTIMEUS 16 |
| | | #define MAINBASE_INDEX 18 |
| | | #define MOTORSTATE_INDEX 19 |
| | | #define NR_NEARSWITCH_DISTANCE 20 |
| | | #define REMOTEPARA_INDEX 22 |
| | | #define MAXRANGE_DISTANCE 22 |
| | | #define ANC_SIGNALPOWER 24 |
| | | #define TAGPOS_INDEX 26 |
| | | #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 |
| | | #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 NEARBASENUM_INDEX 10 |
| | | #define NEARBASEID_INDEX 11 |
| | | #define NEARMSG_EMPTYSLOTPOS_INDEX 1 //RESPONSE |
| | | #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; |
| | |
| | | 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[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); |
| | |
| | | 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); |
| | | u8 GetRandomSlotPos(uint32_t emptyslot); |
| | | u16 CmpTagInList(u16 tagid); |
| | | #endif |