WXK
2024-03-05 c2802ee207528de2d06403061405f0faadffb922
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
#ifndef HEADFILE_DW_MBX_TAG
#define HEADFILE_DW_MBX_TAG
//#define USE_GPS
//#define _SMT_TEST
//#define _USE_BAR
#include "dw_app.h"
#include "deca_device_api.h"
#include "deca_regs.h"
#include "dw_driver.h"
#include "Spi.h"
#include "global_param.h"
#include "lora.h"
#include "radio.h"
#include "led.h"
#include "main.h"
 
#define ANC_MAX_NUM           50
//LORA Êý¾Ý¸ñʽ
 
//Ãâ²¼ÏßϵͳÖРËùÓеÄLORA´«ÊäÐÅÏ¢¶¼°üº¬ÔÚÏÂÃæµÄMSG TYPE£¨ÏûÏ¢ÀàÐÍ£©¸ñʽÖУ¬²»Í¬µÄÏûÏ¢ÀàÐÍ£¬»á¶ÔÓ¦²»Í¬µÄËùÓиñʽ
//LORA MSG TYPEµÄ¼¸ÖÖÀàÐÍ
#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_ANCHEARTBEAT_POLL  7//Íø¹Ø»Ø¸´»ùÕ¾Éý¼¶ÎļþÄÚÈÝ
#define LORA_MSGTYPE_TAGMSGTOWG         0x22//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø
#define LORA_MSGTYPE_TAGMSGTOWG_GPS     0x23//±êÇ©¾àÀëÐÅÏ¢·¢¸øÍø¹Ø
#define LORA_MSGTYPE_WGRESPTAG         8//Íø¹Ø»Ø¸´±êÇ©²â¾à¶¨Î»±¨ÎÄ
#define LORA_MSGTYPE_TAGHEARTBEAT       0x33//±êÇ©ÐÄÌø°üÉÏ´«
#define LORA_MSGTYPE_READPARARESP       0x39  //±êÇ©»ùÕ¾»Ø¸´Íø¹Ø¶ÁÈ¡ÅäÖÃÖ¸Áî
//SYNCÏûϢϠ×ÓÏûÏ¢ÀàÐͶ¨Òå
#define SUBMSG_NONE             0//ÎÞÆäËûÏûÏ¢ Ö»ÊÇͬ²½ÐźÅ
#define SUBMSG_READ_ANCPARA     0x11//×ÓÏûÏ¢ÀàÐÍ£º¶ÁÈ¡»ùÕ¾ÅäÖÃ
#define SUBMSG_WRITE_ANCPARA    0x12//×ÓÏûÏ¢ÀàÐÍ£ºÐ´»ùÕ¾ÅäÖÃ
#define SUBMSG_UPDATE_TAG       5//×ÓÏûÏ¢ÀàÐÍ£ºÉý¼¶±êÇ©
#define SUBMSG_UPDATE_ANC       6//×ÓÏûÏ¢ÀàÐÍ£ºÉý¼¶»ùÕ¾
//SYNCÏûÏ¢ÀàÐ͸ñʽ
#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     7  //¸ÃÍø¹Ø·¶Î§ÊÇ·ñ²â¾à±ê־λ£¬Îª1ÔòÇøÓòÄÚ»ùÕ¾²â¾à£¬Èç¹ûÊÇ0ÔòÇøÓòÄÚ»ùÕ¾²»²â¾à 
#define SUBMSGTYPE_IDX      9   //×ÓÏûÏ¢ÀàÐÍIDX
#define WRITEPARA_INDEX_IDX 10  //дÈë²ÎÊýµÄµØÖ·IDX
#define WRITEPARA_VALUE_IDX 11   //дÈë²ÎÊýµÄÖµ£¬2¸ö×Ö½Ú   /*ÔÚ·¢ËÍÉý¼¶»ùÕ¾ÇëÇóʱ£¬±»Ì滻ΪҪ·¢Ë͵ÄÉý¼¶ÎļþµÄ´óС
#define WG_SYNC_RESERVE_IDX 13  //±£Áô 4¸ö×Ö½Ú
//LORA_MSGTYPE_TAGMSGTOWG ±êÇ©Éϱ¨Íø¹Ø¶¨Î»±¨ÎÄÐÅÏ¢¸ñʽ
 
#ifdef USE_GPS
    #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 SEQNUM_IDX          6   //±êÇ©±¨ÎÄÐòºÅ 
    #define BAT_IDX             7   //±êÇ©µçÁ¿
    #define STATE_IDX           8
    #define GPS_JINGDU_IDX      9
    #define GPS_WEIDU_IDX       17
    #define GPS_HEIGHT_IDX      25
    #define GPS_STATE_IDX       29
    #define GPS_SATEL_NUM_IDX   30
    #define GPS_SPOWER_IDX      31  //ÐźÅÇ¿¶È
    #define GPS_CHAFENLINGQI    32  //²î·ÖÁäÆÚ    
    #define BAR_HEIGHT_IDX      33  //ÆøÑ¹¸ß¶È
    #define ANCNUM_IDX          35  
    #define ANCID_IDX           36   //УÑéÔÚ4*ancnum+ANCID_IDX Î»ÖÃ
#else
    #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 SEQNUM_IDX          6   //±êÇ©±¨ÎÄÐòºÅ 
    #define BAT_IDX             7   //±êÇ©µçÁ¿
    #define STATE_IDX           8
    #define BAR_HEIGHT_IDX      9  //ÆøÑ¹¸ß¶È
    #define ANCNUM_IDX          11  
    #define ANCID_IDX           12   //УÑéÔÚ4*ancnum+ANCID_IDX Î»ÖÃ
 
#endif
//#define LORA_MSGTYPE_WGRESPTAG         8//Íø¹Ø»Ø¸´±êÇ©²â¾à¶¨Î»±¨ÎÄ ¸ñʽ
#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_WRITE_VALUE_IDX   11   //дÈëÖµ
 
#define WGRSP_RWTAG_NONE    0//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
#define WGRSP_RWTAG_READ    2//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
#define WGRSP_RWTAG_WRITE   1//Íø¹Ø»Ø¸´±êÇ©£¬ÎÞ¶Áд 
 
//#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 LORA_MSGTYPE_TAGHEARTBEAT       0x33//±êÇ©ÐÄÌø°üÉÏ´« ¸ñʽ
#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 HB_VERSION_IDX          6   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define HB_UWBPOWER_IDX         8   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define HB_LORAPOWER_IDX        9   //±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
#define HB_RESERVE_IDX          10//±êÇ©»òÕß»ùÕ¾µÄÉ豸ID 2¸ö×Ö½Ú
 
void LoraReportPoll(void);
void UWB_Wkup(void);
void MbxTagUwbRec(void);
void TagListUpdate(void);
 
typedef enum{    WG_Lost, //Éϱ¨¶ªÊ§    Ê§È¥ºÍÍø¹ØÍ¨Ñ¶
                WG_Connected,// Éϱ¨ÖР      ºÍÍø¹ØÍ¨Ñ¶Õý³£
}wg_state_enum;
#endif