From 6d08f540240e0baad08328f06c66d8e2fb1f336f Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期三, 04 十二月 2024 09:16:16 +0800
Subject: [PATCH] 实现,1对1通信,超时时间2ms

---
 keil/lora_3029.h |  135 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 135 insertions(+), 0 deletions(-)

diff --git a/keil/lora_3029.h b/keil/lora_3029.h
index 0c1de4d..a4a81d9 100644
--- a/keil/lora_3029.h
+++ b/keil/lora_3029.h
@@ -7,5 +7,140 @@
 #define LORA_MISO IO_PIN_12
 #define LORA_CLK IO_PIN_13
 #define LORA_DIO IO_PIN_4
+#define ANC_MAX_NUM           50
+#define LORA_REPORT_MAXANC_NUM  7
+//#define TEST_FREQ
+#ifdef  TEST_FREQ
+#define LORA_UPCHANNEL_FRQ 456
+#define LORA_UPCHANNEL_SF 9
+    
+#define TEST_FREQ_OFFSET   1
+#define UWB_CHANNEL_FRQ 450+TEST_FREQ_OFFSET
+#define UWB_CHANNEL_SF 5
 
+#define LR_DATA_CHANNEL_FRQ 457
+#define LR_DATA_CHANNEL_SF 9
+
+#define REPORT_MANGE_CHANNEL_FRQ 458 +TEST_FREQ_OFFSET
+#define REPORT_CHANNEL_SF 7
+#else
+#define LORA_UPCHANNEL_FRQ 476
+#define LORA_UPCHANNEL_SF 7
+    
+#define UWB_CHANNEL_FRQ 470
+#define UWB_CHANNEL_SF 5
+
+#define REPORT_MANGE_CHANNEL_FRQ 478
+#define REPORT_CHANNEL_SF 7
+
+#define LR_DATA_CHANNEL_FRQ 475
+#define LR_DATA_CHANNEL_SF 9
+#endif
+
+//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   //报文长度
+#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   //报文长度
+    #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   //报文长度
+    #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   //报文长度
+#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   //报文长度
+#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   //报文长度
+#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个字节
+
+typedef enum{	WG_Lost, //上报丢失    失去和网关通讯
+                WG_Connected,// 上报中       和网关通讯正常
+}wg_state_enum;
+
+void Lora_UploadHeartBeartPoll(void);
 #endif
\ No newline at end of file

--
Gitblit v1.9.3