1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#ifndef __DW_APP_H__
#define __DW_APP_H__
#include "stdint.h"
void SetANCTimestap(uint8_t i,uint8_t* pollrx,uint8_t* resptx,uint32_t resprx,uint8_t* distoffset,int32_t anc_clockoffset_from_MK,uint32_t polltx);
void CalculateDists1(int64_t poll_tx_ts);
void CalculateDists(int64_t poll_tx_ts);
int64_t ranging_timestamp_diff1(int64_t ts_a, int64_t ts_b);
typedef enum
{        UN_BIND=0,
        LINK_SUCCESS,
        SEARCH_DEV,
} Operation_step;
#define MBX_RESPONSE  0x21
#define MBX_POLL                               0x20
#define MBX_RESPONSE                           0x21
#define MBX_FINAL                           0x22
#define MBX_PRAAREPLY                       0x23
#define MBX_REG                               0x24
 
//uwb_update
#define MSG_TYPE_IDX        0   //LORA MSG TYPE ¶¨Òå
#define MSG_LENGTH          1   //±¨Îij¤¶È
#define SOURCE_ID_IDX       2   //Íø¹ØID Õ¼ÓÃ2¸ö×Ö½Ú
#define DEST_ID_IDX         4   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define SYSTIME_IDX         6   //ϵͳʱ¼ä
#define RANGE_STATE_IDX     8  //¸ÃÍø¹Ø·¶Î§ÊÇ·ñ²â¾à±ê־λ£¬Îª1ÔòÇøÓòÄÚ»ùÕ¾²â¾à£¬Èç¹ûÊÇ0ÔòÇøÓòÄÚ»ùÕ¾²»²â¾à 
#define SUBMSGTYPE_IDX      9   //×ÓÏûÏ¢ÀàÐÍIDX
#define WRITEPARA_INDEX_IDX 10  //дÈë²ÎÊýµÄµØÖ·IDX
#define WRITEPATE_VALUE_IDX 11   //дÈë²ÎÊýµÄÖµ£¬2¸ö×Ö½Ú   /*ÔÚ·¢ËÍÉý¼¶»ùÕ¾ÇëÇóʱ£¬±»Ì滻ΪҪ·¢Ë͵ÄÉý¼¶ÎļþµÄ´óС
#define WG_SYNC_RESERVE_IDX 13//±£Áô 4¸ö×Ö½Ú
 
 
#define WGRSP_RWTAG_NONE    0//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
#define WGRSP_RWTAG_READ    2//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
#define WGRSP_RWTAG_WRITE   1//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
#define WGRSP_RWTAG_UPDATE   0x06//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
 
#define LORA_MSGTYPE_READPARARESP       0x39  //±êÇ©»ùÕ¾»Ø¸´Íø¹Ø¶ÁÈ¡ÅäÖÃÖ¸Áî
#define MSG_TYPE_IDX            0   //LORA MSG TYPE ¶¨Òå
#define MSG_LENGTH              1   //±¨Îij¤¶È
#define SOURCE_ID_IDX           2   //Íø¹ØID Õ¼ÓÃ2¸ö×Ö½Ú
#define DEST_ID_IDX             4   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define RP_CMD_IDX              6   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define RP_INDEX_IDX              7   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define RP_LEN_IDX              8   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
 
#define MESSAGE_TYPE_IDX  9    
#define TAG_ID_IDX   5
#define GROUP_ID_IDX 0
#define ANCHOR_ID_IDX  1
#define MAX_NEARBASE_NUM 25
#define TAG_KEEPTIMES    30 //±êÇ©´æ»îʱ¼ä
#define KEEP_TIMES 20
#define TAG_NUM_IN_SYS                25
 
#define SEQUENCE_IDX                    3
#define BATTARY_IDX                        4
//NEAR POLL
#define RESP_MSG_POLL_RX_TS_IDX  26
#define RESP_MSG_RESP_TX_TS_IDX  30
#define RESP_MSG_ANC_DISTOFFSET  34
 
//NEAR MSG
#define NEARBASENUM_INDEX    10
#define NEARBASEID_INDEX         11
 
#define TAG_KEEPTIMES    30 //±êÇ©´æ»îʱ¼ä
#define MAX_TAG_LIST_NUM 200 //ͬʱͨѶ±êÇ©×î´óÊýÁ¿
 
#define FREQ_OFFSET_MULTIPLIER          (998.4e6/2.0/1024.0/131072.0)
#define FREQ_OFFSET_MULTIPLIER_110KB    (998.4e6/2.0/8192.0/131072.0)
#define SEND_GROUP_MAX_NUM  25
 
#define HERTZ_TO_PPM_MULTIPLIER_CHAN_1     (-1.0e6/3494.4e6)
#define HERTZ_TO_PPM_MULTIPLIER_CHAN_2     (-1.0e6/3993.6e6)
#define HERTZ_TO_PPM_MULTIPLIER_CHAN_3     (-1.0e6/4492.8e6)
#define HERTZ_TO_PPM_MULTIPLIER_CHAN_5     (-1.0e6/6489.6e6)
 
#define APP_1OR2_ADRESS 0x04080000-0x1000
#define MUQIAN_BAG                  6
#define DATA_IDX                    8
#define ONE_BAG_DAXIAO 100
 
#define LORA_MSGTYPE_WGRESPTAG         8//Íø¹Ø»Ø¸´±êÇ©²â¾à¶¨Î»±¨ÎÄ
#define LORA_MSGTYPE_TAG_HEARTBEAT      0x33//±êÇ©ÐÄÌø°üÉÏ´«
#define LORA_MSGTYPE_ANC_HEARTBEAT      0x32//»ùÕ¾ÐÄÌø°üÉÏ´«
#define LORA_MSGTYPE_WG_RESPONSE_TAG    11//Íø¹Ø»Ø¸´±êÇ©²â¾à±¨ÎÄ
 
#define LORA_MSGTYPE_SYNC               1//Íø¹ØÏ·¢¸ø»ùÕ¾µÄͬ²½ÐÅÏ¢
#define LORA_MSGTYPE_CFGRSP             2//»ùÕ¾»Ø¸´¸øÍø¹ØÅäÖöÁÈ¡ÐÅÏ¢
#define LORA_MSGTYPE_UPDATE_CONFIRM     3//»ùÕ¾»Ø¸´¸øÍø¹ØÉý¼¶È·ÈÏÐÅÏ¢
#define LORA_MSGTYPE_RANGEPOLL          4//»ùÕ¾·¢Æð²â¾àͬ²½ÐźÅ
#define LORA_MSGTYPE_UPDATEFILE_REQUEST 5//»ùÕ¾·¢Ë͸øÍø¹ØÉý¼¶ÎļþÇëÇó
#define LORA_MSGTYPE_UPDATEFILE_RESP    6//Íø¹Ø»Ø¸´»ùÕ¾Éý¼¶ÎļþÄÚÈÝ
#define LORA_MSGTYPE_UPDATE_CONFIRM2     13//»ùÕ¾»Ø¸´¸øÍø¹ØÉý¼¶È·ÈÏÐÅÏ¢-SF8ģʽ
 
#define APP_SIZE 0x04080000-APP2_ADRESS
#define APP2_ADRESS 0x0402f000
#define APP_1OR2_ADRESS 0x04080000-0x1000
#define MUQIAN_BAG                  6
#define DATA_IDX                    8
#define ONE_BAG_DAXIAO 100
 
#define MSG_TYPE_IDX            0   //LORA MSG TYPE ¶¨Òå
#define MSG_LENGTH              1   //±¨Îij¤¶È
#define SOURCE_ID_IDX           2   //Íø¹ØID Õ¼ÓÃ2¸ö×Ö½Ú
#define DEST_ID_IDX             4   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define NEXTPOLL_TIME_IDX       6   //
#define POLL_FREQ_IDX           8   //·ÖÅäµÄ·¢ËÍÆµÂÊ£¬ÐèÒª+400µÄÆ«ÒÆÁ¿¡£
#define PWTAG_RW_FLAG_IDX       9   //¶Áд±êÖ¾ 0ÎÞ¶Áд 1дÈë 2¶ÁÈ¡
#define PWTAG_WRITE_IDX_IDX     10   //дÈëµØÖ·
#define PWTAG_SECDELAY_IDX      10      //дÈë±êÇ©ÃëÑÓ³Ù Óë¶ÁдµØÖ·¹²ÓÃÒ»¸öλÖ㬵±ÓжÁдµØÖ·Ê±£¬¾ÍûÓÐÕâ¸ö²ÎÊý¡£
#define PWTAG_WRITE_VALUE_IDX   11   //дÈëÖµ
#endif