From d9eeaa73e91eb757f8707e26f204f443fe956a3f Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期二, 04 三月 2025 15:16:26 +0800 Subject: [PATCH] lora能正常发送 --- keil/lora_3029.h | 302 +++++++++++++++++++++++++------------------------- 1 files changed, 151 insertions(+), 151 deletions(-) diff --git a/keil/lora_3029.h b/keil/lora_3029.h index 556da34..6239479 100644 --- a/keil/lora_3029.h +++ b/keil/lora_3029.h @@ -1,167 +1,167 @@ -#ifndef __LORA_3029_H -#define __LORA_3029_H -#include "mk_io.h" +//#ifndef __LORA_3029_H +//#define __LORA_3029_H +//#include "mk_io.h" -//BT板子更改了片选角 +////BT板子更改了片选角 -//#define LORA_CS IO_PIN_14 -#define LORA_CS IO_PIN_8 -#define LORA_MOSI IO_PIN_11 -#define LORA_MISO IO_PIN_12 -#define LORA_CLK IO_PIN_13 -#define LORA_DIO IO_PIN_7 -//#define LORA_DIO IO_PIN_4 -#define ANC_MAX_NUM 50 -#define LORA_REPORT_MAXANC_NUM 10 -//#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 LORA_CS IO_PIN_14 +//#define LORA_CS IO_PIN_8 +//#define LORA_MOSI IO_PIN_11 +//#define LORA_MISO IO_PIN_12 +//#define LORA_CLK IO_PIN_13 +//#define LORA_DIO IO_PIN_7 +////#define LORA_DIO IO_PIN_4 +//#define ANC_MAX_NUM 50 +//#define LORA_REPORT_MAXANC_NUM 10 +////#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 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 8 - -#define UWB_CHANNEL_FRQ 470 -#define UWB_CHANNEL_SF 5 +//#define REPORT_MANGE_CHANNEL_FRQ 458 +TEST_FREQ_OFFSET +//#define REPORT_CHANNEL_SF 7 +//#else +//#define LORA_UPCHANNEL_FRQ 476 +//#define LORA_UPCHANNEL_SF 8 +// +//#define UWB_CHANNEL_FRQ 470 +//#define UWB_CHANNEL_SF 5 -#define REPORT_MANGE_CHANNEL_FRQ 478 -#define REPORT_CHANNEL_SF 7 +//#define REPORT_MANGE_CHANNEL_FRQ 478 +//#define REPORT_CHANNEL_SF 7 -#define LR_DATA_CHANNEL_FRQ 475 -#define LR_DATA_CHANNEL_SF 9 +//#define LR_DATA_CHANNEL_FRQ 475 +//#define LR_DATA_CHANNEL_SF 9 -//#define TEST_MANAGE_CHANNEL_FRQ 457 -//#define TEST_MANAGE_CHANNEL_SF 5 +////#define TEST_MANAGE_CHANNEL_FRQ 457 +////#define TEST_MANAGE_CHANNEL_SF 5 -#endif +//#endif -//LORA 数据格式 +////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//标签距离信息发给网关 +////免布线系统中 所有的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_TAGMSGTOWG_BT 0x26//标签距离信息蓝牙距离信息,信号强度,发给网关 +//#define LORA_MSGTYPE_TAGMSGTOWG_BT 0x26//标签距离信息蓝牙距离信息,信号强度,发给网关 -#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 GATEWAY_CHANL 9 - #define CHANL_NUM 10 - #define ANCNUM_IDX 11 - #define ANCID_IDX 12 //校验在4*ancnum+ANCID_IDX 位置 -// #define LORA_RETRANSNUSSION_BT 13 //LORA转发蓝牙协议标识符 - - -#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_WGRESPTAG 8//网关回复标签测距定位报文 +//#define LORA_MSGTYPE_TAGHEARTBEAT 0x33//标签心跳包上传 //#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个字节 +////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 标签上报网关定位报文信息格式 -//#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 LoraHeartBeartPoll(void); -void Lora_Tx_Poll(); -void OnMaster(); -int LORA_3029_SINGLE_SEND(uint8_t *buffer, uint8_t size,uint8_t time); -int LORA_3029_CONTINOUS_SEND(uint8_t *buffer, uint8_t size); +//#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 GATEWAY_CHANL 9 +// #define CHANL_NUM 10 +// #define ANCNUM_IDX 11 +// #define ANCID_IDX 12 //校验在4*ancnum+ANCID_IDX 位置 +//// #define LORA_RETRANSNUSSION_BT 13 //LORA转发蓝牙协议标识符 -#endif \ No newline at end of file +//#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 LoraHeartBeartPoll(void); +//void Lora_Tx_Poll(); +//void OnMaster(); +//int LORA_3029_SINGLE_SEND(uint8_t *buffer, uint8_t size,uint8_t time); +//int LORA_3029_CONTINOUS_SEND(uint8_t *buffer, uint8_t size); + + +//#endif \ No newline at end of file -- Gitblit v1.9.3