From a6ddff5c49ef22b708bd739c83648af738b8f598 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 15 十月 2024 14:47:00 +0800 Subject: [PATCH] 2.13,修复跟主基站测距131071,修复切换主机占测距跟id不匹配的bug --- Src/application/dw_app.h | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 deletions(-) diff --git a/Src/application/dw_app.h b/Src/application/dw_app.h index 42d5bcb..84376af 100644 --- a/Src/application/dw_app.h +++ b/Src/application/dw_app.h @@ -8,13 +8,18 @@ #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.8 #define MAX_NEARBASE_NUM 12 #define KEEP_TIMES 3 @@ -28,6 +33,8 @@ #define MIN_ANCHOR_NUM 2 #define SYNC_SEQ_IDX 5 #define REMOTEPARA_LEN 18 +#define OUTRANGE_RESTARTTIMES 5 + #define POLL 0x01 #define RESPONSE 0x02 @@ -37,12 +44,33 @@ #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 DISCOVERPOLL2 0x1A + + +#define POS_MSG 0x15 +#define POS_POLL 0x16 +#define POS_RESPONSE 0x17 +#define POS_FINAL 0x18 + +#define REG_POLL 0x10 // +#define REG_RESPONSE 0x11 // +#define REG_POLL2 0x20 // //General #define GROUP_ID_IDX 0 #define ANCHOR_ID_IDX 1 #define TAG_ID_IDX 5 -#define MESSAGE_TYPE_IDX 9 +#define MESSAGE_TYPE_IDX 9 +#define POLL_USERDATA_IDX 32 +#define NEARBASENUM_INDEX 18 +#define NEARBASEID_INDEX 19 //Poll +#define TAGSTATE 7 #define ANC_TYPE_IDX 14 //respose #define DIST_IDX 10 @@ -50,8 +78,16 @@ #define ANCTIMEUS 16 #define TAGSLOTPOS 7 #define MOTORSTATE_INDEX 19 -#define REMOTEPARA_INDEX 20 +#define NR_NEARSWITCH_DISTANCE 20 +#define REMOTEPARA_INDEX 22 +#define MAXRANGE_DISTANCE 22 +#define ANC_SIGNALPOWER 24 +#define RESP_MSG_POLL_RX_TS_IDX 26 +#define RESP_MSG_RESP_TX_TS_IDX 30 +#define RESP_MSG_ANC_DISTOFFSET 34 + //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 @@ -61,12 +97,31 @@ #define SYNC_SEQ_IDX 5 //NEAR MSG #define NEARMSG_EMPTYSLOTPOS_INDEX 1 //RESPONSE -#define NEARBASENUM_INDEX 10 -#define NEARBASEID_INDEX 11 //NEAR POLL -#define BATTARY_IDX 1 -#define BUTTON_IDX 2 +#define NEARP_TAGFREQ_INDEX 10 +#define NEARP_TAGSLOTPOS_INDEX 12 + + +//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 +#define REGP_BATTARY_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) @@ -82,7 +137,7 @@ extern uint32_t g_UWB_com_interval; extern float dis_after_filter; -extern uint8_t usart_send[25]; +extern uint8_t usart_send[150]; void IdleTask(void); uint16_t Checksum_u16(uint8_t* pdata, uint32_t len); @@ -94,4 +149,5 @@ extern void TagDistClear(void); void Dw1000_App_Init(void); +void DelayOneSlot(void); #endif -- Gitblit v1.9.3