| | |
| | | |
| | | #include <string.h> |
| | | #include "main.h" |
| | | |
| | | #include "deca_device_api.h" |
| | | //#include "deca_device_api_3000.h" |
| | | #include "deca_regs.h" |
| | | #include "dw_driver.h" |
| | | #include "ADC.h" |
| | | #include "TrackingDiff.h" |
| | | |
| | | //#define WORK_MODE_TAG |
| | | #define WORK_MODE_ANCHOR |
| | | #define BASELOST_STOPMOTOR_TIME 5 |
| | | //BITSTATE |
| | | #define GOINGSLEEPBIT 1 |
| | | |
| | | //#define NEWBOARD |
| | | //#define TAG_OUTPUT |
| | | #define HEX_OUTPUT |
| | | |
| | | #define MAX_NEARBASE_NUM 12 |
| | | #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 TAG_NUM_IN_SYS 256 |
| | | #define DFT_RAND_DLY_TIM_MS 1 |
| | | #define THRESHOLD_CHANGE_MAINBASE_DIST 50 |
| | | #define MIN_ANCHOR_NUM 2 |
| | | #define SYNC_SEQ_IDX 5 |
| | | #define QUIT_SLOT_TIME 5 |
| | | #define KEEP_TIMES 30 |
| | | #define SLOT_SCALE 0.7 |
| | | #define RNG_DELAY_MS 100 |
| | | |
| | | /* Default antenna delay values for 64 MHz PRF. See NOTE 1 below. */ |
| | | #define TX_ANT_DLY 0 |
| | | #define RX_ANT_DLY 32899 |
| | | |
| | | /* UWB microsecond (uus) to device time unit (dtu, around 15.65 ps) conversion factor. |
| | | * 1 uus = 512 / 499.2 祍 and 1 祍 = 499.2 * 128 dtu. */ |
| | | #define UUS_TO_DWT_TIME 65536 |
| | | |
| | | /* Delay between frames, in UWB microseconds. See NOTE 4 below. */ |
| | | /* 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 POLL_TX_TO_RESP_RX_DLY_UUS 150 |
| | | /* This is the delay from Frame RX timestamp to TX reply timestamp used for calculating/setting the DW1000's delayed TX function. This includes the |
| | | * frame length of approximately 2.66 ms with above configuration. */ |
| | | #define RESP_RX_TO_FINAL_TX_DLY_UUS 410 |
| | | /* Receive response timeout. See NOTE 5 below. */ |
| | | #define RESP_RX_TIMEOUT_UUS 2000 |
| | | |
| | | #define DELAY_BETWEEN_TWO_FRAME_UUS 550 |
| | | |
| | | #define POLL_RX_TO_RESP_TX_DLY_UUS 470 |
| | | /* 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 10 |
| | | /* Receive final timeout. See NOTE 5 below. */ |
| | | #define FINAL_RX_TIMEOUT_UUS 4300 |
| | | |
| | | #define SPEED_OF_LIGHT 299702547 |
| | | |
| | | //MESSAGE_TYPE |
| | | #define POLL 0x01 |
| | | #define RESPONSE 0x02 |
| | | #define FINAL 0x03 |
| | |
| | | #define DIST_IDX 10 |
| | | #define ANCTIMEMS 14 |
| | | #define ANCTIMEUS 16 |
| | | #define MAINBASE_INDEX 18 |
| | | #define MOTORSTATE_INDEX 19 |
| | | #define REMOTEPARA_INDEX 20 |
| | | #define RESP_MSG_POLL_RX_TS_IDX 26 |
| | | #define RESP_MSG_RESP_TX_TS_IDX 30 |
| | | #define RESP_MSG_ANC_DISTOFFSET 34 |
| | | #define TAGSLOTPOS 7 |
| | | //Final |
| | | #define FINAL_MSG_POLL_TX_TS_IDX 10 |
| | |
| | | #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 NEARMSG_EMPTYSLOTPOS_INDEX 1 //RESPONSE |
| | | #define NEARBASENUM_INDEX 10 |
| | | #define NEARBASEID_INDEX 11 |
| | | //NEAR POLL |
| | | #define BATTARY_IDX 1 |
| | | #define BUTTON_IDX 2 |
| | | #define SEQUENCE_IDX 3 |
| | | |
| | | #define BATTARY_IDX 4 |
| | | #define BUTTON_IDX 7 |
| | | #define SLOTTIME_MS 48 |
| | | #define REMOTEPARA_LEN 18 |
| | | #define THRESHOLD_CHANGE_MAINBASE_DIST 5 |
| | | #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) |
| | |
| | | void Anchor_App(void); |
| | | void tag_sleep_configuraion(void); |
| | | extern int32_t g_Tagdist[TAG_NUM_IN_SYS]; |
| | | |
| | | extern dwt_config_t config; |
| | | extern void TagDistClear(void); |
| | | void Dw1000_App_Init(void); |
| | | #endif |