|
#ifndef __DW_APP_H__
|
#define __DW_APP_H__
|
|
#include <string.h>
|
#include "main.h"
|
|
#include "ADC.h"
|
#include "TrackingDiff.h"
|
|
#define MAX_ANCFREQ 20//»ùվƵÂÊÉÏÏÞ
|
#define NOTAG_FREQ 1// ÎÞ±êÇ©Çé¿öÏ£¬»ùÕ¾¶¨Î»ÆµÂÊ
|
#define FREQ_LOST_TIME 30 // ±êÇ©ÎÞÐźŻָ´ÆµÂÊ1HZʱ¼ä¡£Ãë
|
#define SENDANCPARA_LEN 102
|
#define BASELOST_STOPMOTOR_TIME 5
|
//BITSTATE
|
#define GOINGSLEEPBIT 1
|
|
//#define NEWBOARD
|
//#define TAG_OUTPUT
|
#define HEX_OUTPUT
|
|
#define SLOT_SCALE 4
|
#define MAX_NEARBASE_NUM 25
|
#define KEEP_TIMES 5
|
|
#define REPOET_ANC_NUM 1
|
#define REPOET_ANC_NUM_MIN 1
|
#define TAG_ID_START 0// 0x00980000
|
#define GROUP_TAG_NUM 2
|
#define TAG_NUM_IN_SYS 25
|
#define DFT_RAND_DLY_TIM_MS 1
|
#define THRESHOLD_CHANGE_MAINBASE_DIST 50
|
#define MIN_ANCHOR_NUM 2
|
#define SYNC_SEQ_IDX 5
|
#define REMOTEPARA_LEN 18
|
|
#define POLL 0x01
|
#define RESPONSE 0x02
|
#define FINAL 0x03
|
#define SYNC 0x04
|
|
//#define NEAR_POLL 0x06
|
//#define NEAR_RESPONSE 0x07
|
//#define NEAR_FINAL 0x08
|
//#define NEAR_PRAAREPLY 0x20
|
|
#define MBX_POLL 0x20
|
#define MBX_RESPONSE 0x21
|
#define MBX_FINAL 0x22
|
#define MBX_PRAAREPLY 0x23
|
//General
|
#define GROUP_ID_IDX 0
|
#define ANCHOR_ID_IDX 1
|
#define TAG_ID_IDX 5
|
#define MESSAGE_TYPE_IDX 9
|
#define MESSAGE_PARAREPLY_IDX 10
|
//Poll
|
#define TAGSTATE 7
|
#define ANC_TYPE_IDX 14
|
//respose
|
#define DIST_IDX 10
|
#define ANCTIMEMS 14
|
#define ANCTIMEUS 16
|
#define TAGFREQ_IDX 7
|
#define MOTORSTATE_INDEX 19
|
#define REMOTEPARA_INDEX 22
|
//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 SYNC_SEQ_IDX 5
|
//NEAR MSG
|
#define NEARMSG_EMPTYSLOTPOS_INDEX 1 //RESPONSE
|
#define NEARBASENUM_INDEX 10
|
#define NEARBASEID_INDEX 11
|
//NEAR POLL
|
#define RESP_MSG_POLL_RX_TS_IDX 26
|
#define RESP_MSG_RESP_TX_TS_IDX 30
|
#define RESP_MSG_ANC_DISTOFFSET 34
|
|
#define SEQUENCE_IDX 3
|
#define BATTARY_IDX 4
|
#define BUTTON_IDX 7
|
|
#define DW_CTRL_GPIO GPIOA
|
#define DW_ENABLE HAL_GPIO_WritePin(DW_CTRL_GPIO, DW_CTRL_Pin, GPIO_PIN_RESET)
|
#define DW_DISABLE HAL_GPIO_WritePin(DW_CTRL_GPIO, DW_CTRL_Pin, GPIO_PIN_SET)
|
extern TrackingDiffClass *pUWBDistanceTrackingDiff;
|
extern uint16_t poll_timer,tag_timer;
|
extern int8_t tag_delaytime;
|
extern uint32_t dev_id;
|
extern uint8_t anchor_type;
|
extern uint32_t time32_incr;
|
extern uint16_t tag_recv_timer;
|
extern double dist_cm;
|
extern uint32_t g_UWB_com_interval;
|
extern float dis_after_filter;
|
|
extern uint8_t usart_send[25];
|
|
void IdleTask(void);
|
uint16_t Checksum_u16(uint8_t* pdata, uint32_t len);
|
void Dw1000_Init(void);
|
void Tag_App(void);
|
void Anchor_App(void);
|
void tag_sleep_configuraion(void);
|
extern int32_t g_Tagdist[TAG_NUM_IN_SYS];
|
|
extern void TagDistClear(void);
|
void Dw1000_App_Init(void);
|
#endif
|