|
#ifndef __DW_APP_H__
|
#define __DW_APP_H__
|
|
#include <string.h>
|
#include "main.h"
|
|
#include "ADC.h"
|
#include "TrackingDiff.h"
|
|
//BITSTATE
|
#define GOINGSLEEPBIT 1
|
|
//#define NEWBOARD
|
//#define TAG_OUTPUT
|
#define MAX_RFPOWER 60
|
#define DEFAULT_RFPOWER 30
|
#define REGISTER_FREQUENCY 1
|
#define HEX_OUTPUT
|
#define TOTAL_SLOTNUM 200
|
#define SLOTTIME_MS 48
|
#define SLOT_SCALE 0.24
|
#define MAX_NEARBASE_NUM 12
|
#define KEEP_TIMES 3
|
|
#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_MSG 0x05
|
#define NEAR_POLL 0x06
|
#define NEAR_RESPONSE 0x07
|
#define NEAR_FINAL 0x08
|
|
#define REG_POLL 0x10 //
|
#define REG_RESPONSE 0x10 //
|
//General
|
#define GROUP_ID_IDX 0
|
#define ANCHOR_ID_IDX 1
|
#define TAG_ID_IDX 5
|
#define MESSAGE_TYPE_IDX 9
|
//Poll
|
#define TAGSTATE 7
|
#define ANC_TYPE_IDX 14
|
//respose
|
#define DIST_IDX 10
|
#define ANCTIMEMS 14
|
#define ANCTIMEUS 16
|
#define TAGSLOTPOS 7
|
#define MOTORSTATE_INDEX 19
|
#define REMOTEPARA_INDEX 20
|
//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
|
|
|
|
//REG POLL
|
#define REGP_VERSION_INDEX 10
|
#define REGP_FREQUENCY_INDEX 12
|
#define REGP_POWER_INDEX 13
|
#define REGP_IMUTHRES_INDEX 14
|
#define REGP_NOMOVESLEEPTIME_INDEX 16
|
//REG RESPONSE
|
#define REGR_TAGFREQ_INDEX 10
|
#define REGR_TAGSLOTPOS_INDEX 12
|
#define REGR_BASENUM_INDEX 18
|
#define REGR_BASEID_INDEX 19
|
|
|
#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
|