WXK
2025-01-03 847f098fdfd333528b1363f4c4a5aab761ecdf0a
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#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_diff(int64_t ts_a, int64_t ts_b);
 
 
 
 
#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 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 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_TAGMSGTOWG         0x22//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø
#define LORA_MSGTYPE_TAGMSGTOWG_GPS     0x23//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø´øGPS
#define LORA_MSGTYPE_TAGMSGTOWG_2         0x24//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø
#define LORA_MSGTYPE_TAGMSGTOWG_GPS_2     0x25//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø´øGPS
#define LORA_MSGTYPE_TAGHEARTBEAT       0x33//±êÇ©ÐÄÌø°üÉÏ´«
#define LORA_MSGTYPE_READPARARESP       0x39//±êÇ©»ùÕ¾»Ø¸´Íø¹Ø¶ÁÈ¡ÅäÖÃÖ¸Áî
 
//#define LORA_MSGTYPE_WGRESPTAG         8//Íø¹Ø»Ø¸´±êÇ©²â¾à¶¨Î»±¨ÎÄ ¸ñʽ
#define MSG_TYPE_IDX        0   //LORA MSG TYPE ¶¨Òå
#define MSG_LENGTH          1   //±¨Îij¤¶È ÎÞÓïÒô¹Ì¶¨14 ÓÐÓïÒô¾ÍÊÇ12+ÓïÒô³¤¶È
#define SOURCE_ID_IDX       2   //Íø¹ØID Õ¼ÓÃ2¸ö×Ö½Ú
#define DEST_ID_IDX         4   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define NEXTPOLL_TIME_IDX   6   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define POLL_FREQ_IDX       8   //·ÖÅäµÄ·¢ËÍÆµÂÊ£¬ÐèÒª+400µÄÆ«ÒÆÁ¿¡£
#define RW_FLAG_IDX         9   //¶Áд±êÖ¾ 0ÎÞ¶Áд 1дÈë 2¶ÁÈ¡
#define WRITE_IDX_IDX       10   //дÈëµØÖ·
#define SECDELAY_IDX        10      //дÈë±êÇ©ÃëÑÓ³Ù Óë¶ÁдµØÖ·¹²ÓÃÒ»¸öλÖ㬵±ÓжÁдµØÖ·Ê±£¬¾ÍûÓÐÕâ¸ö²ÎÊý¡£
#define WRITE_VALUE_IDX     11   //дÈëÖµ
 
 
#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   //дÈëÖµ
 
#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 APP2_ADRESS 0x0402f000
#define APP1_ADRESS 0x04000000
 
#define APP_SIZE 0x04080000-APP2_ADRESS
 
#define APP_1OR2_ADRESS 0x04080000-0x1000
#define MUQIAN_BAG                  6
#define DATA_IDX                    8
#define ONE_BAG_DAXIAO 100
 
#define MBX_RESPONSE  0x21
#define MBX_POLL                               0x20
#define MBX_RESPONSE                           0x21
#define MBX_FINAL                           0x22
#define MBX_PRAAREPLY                       0x23
#define MBX_REG                               0x24
 
#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    100
#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 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)
#endif