yincheng.zhong
2022-12-16 1f703ab0c4761e3260b68481bf9f8626f08e7c98
Src/application/dw_app.h
@@ -8,12 +8,20 @@
#include "ADC.h"
#include "TrackingDiff.h"
//#define WORK_MODE_TAG
#define WORK_MODE_ANCHOR
//BITSTATE
#define GOINGSLEEPBIT 1
//#define NEWBOARD
//#define TAG_OUTPUT
#define MAX_RFPOWER   67
#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
@@ -21,6 +29,100 @@
#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 OUTRANGE_RESTARTTIMES 5
#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 SPOLL                          0x09
#define DISCOVERPOLL                     0x0A
#define DISCOVERRESPONSE                     0x0B
#define DISCOVERFINAL                     0x0C
#define POS_MSG                     0x15
#define POS_POLL                      0x16
#define POS_RESPONSE                    0x17
#define POS_FINAL                  0x18
#define REG_POLL                     0x10   //
#define REG_RESPONSE               0x11   //
//General
#define GROUP_ID_IDX               0
#define ANCHOR_ID_IDX             1
#define TAG_ID_IDX                5
#define MESSAGE_TYPE_IDX          9
#define NEARBASENUM_INDEX    18
#define NEARBASEID_INDEX       19
//Poll
#define TAGSTATE              7
#define ANC_TYPE_IDX                14
//respose
#define DIST_IDX                      10
#define ANCTIMEMS             14
#define ANCTIMEUS             16
#define MOTORSTATE_INDEX      19
#define NR_NEARSWITCH_DISTANCE 20
#define REMOTEPARA_INDEX      22
#define MAXRANGE_DISTANCE       22
#define ANC_SIGNALPOWER         24
//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 ANCMSG_EMPTYSLOTPOS_INDEX       1 //RESPONSE
//NEAR POLL
#define NEARP_TAGFREQ_INDEX  10
#define NEARP_TAGNEWPOSFLAG_INDEX  11
#define NEARP_TAGSLOTPOS_INDEX  12
//POS RESPONSE
#define PR_TAGPOS_INDEX             7
//TAG MSG
#define TAGMSG_CURRENTPOS_IDX 10
//ANC MSG
#define ANCMSG_TAGSLOTPOS_IDX       10 //RESPONSE
#define ANCMSG_TAGPERIODMS_IDX       12  //100ms整数倍
//REG POLL
#define REGP_TAGSTATE_INDEX  10
#define REGP_VERSION_INDEX  11
#define REGP_FREQUENCY_INDEX  13
#define REGP_POWER_INDEX  14
#define REGP_IMUTHRES_INDEX  15
#define REGP_NOMOVESLEEPTIME_INDEX  17
#define REGP_HEIGHTOFFSET_INDEX 19
//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 SEQUENCEH_IDX               8
#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;
@@ -41,7 +143,8 @@
void Anchor_App(void);
void tag_sleep_configuraion(void);
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 DelayOneSlot(void);
#endif