From f34293f18e4fbfe4d0d025657d2bda505861066a Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 15 八月 2025 19:51:53 +0800
Subject: [PATCH] 初步调好demo,升级未测试

---
 keil/dw_tag.h |  231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 225 insertions(+), 6 deletions(-)

diff --git a/keil/dw_tag.h b/keil/dw_tag.h
index 44710cb..b4e1105 100644
--- a/keil/dw_tag.h
+++ b/keil/dw_tag.h
@@ -10,6 +10,215 @@
         LINK_SUCCESS,
         SEARCH_DEV,
 } Operation_step;
+
+//BITSTATE
+#define GOINGSLEEPBIT 1
+
+//#define NEWBOARD
+//#define TAG_OUTPUT
+#define MAX_RFPOWER   67
+#define DEFAULT_RFPOWER   30
+#define REGISTER_FREQUENCY 1
+#define HEX_OUTPUT
+#define TOTAL_SLOTNUM 200
+#define SLOTTIME_MS 48
+#define SLOT_SCALE 0.8
+#define MAX_NEARBASE_NUM 12
+#define KEEP_TIMES 5
+
+#define REPOET_ANC_NUM 1
+#define REPOET_ANC_NUM_MIN 1
+#define TAG_ID_START 		0// 0x00980000
+#define GROUP_TAG_NUM 2
+//#define TAG_NUM_IN_SYS				25
+#define DFT_RAND_DLY_TIM_MS			1
+#define THRESHOLD_CHANGE_MAINBASE_DIST   50
+#define MIN_ANCHOR_NUM 2
+#define SYNC_SEQ_IDX    			5
+#define REMOTEPARA_LEN 18
+#define OUTRANGE_RESTARTTIMES 5
+
+#define RESP_MSG_TAG_FREQUENCY 36
+#define RESP_MSG_TAG_MOTOR    37
+#define POLL     							0x01
+#define RESPONSE 							0x02
+#define FINAL   							0x03
+#define SYNC   								0x04
+#define NEAR_MSG   						0x05
+#define NEAR_POLL   					0x06
+#define NEAR_RESPONSE   			0x07
+#define NEAR_FINAL   					0x08
+#define SPOLL     							0x09
+#define DISCOVERPOLL     				    0x0A
+#define DISCOVERRESPONSE     				    0x0B
+#define DISCOVERFINAL     				    0x0C
+#define DISCOVERPOLL2     				    0x1A
+#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   //写入值
+//uwb_update
+#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     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 SEND_GROUP_MAX_NUM  25
+#define POS_MSG   						0x15
+#define POS_POLL   					    0x16
+#define POS_RESPONSE   			        0x17
+#define POS_FINAL   					0x18
+
+#define REG_POLL   						0x10   //
+#define REG_RESPONSE   				0x11   //
+#define REG_POLL2   						0x20   //
+//General
+#define GROUP_ID_IDX   				0
+#define ANCHOR_ID_IDX    			1
+#define TAG_ID_IDX    				5
+#define MESSAGE_TYPE_IDX 			9	
+
+#define NEARBASENUM_INDEX    10
+#define NEARBASEID_INDEX		 11
+//Poll
+#define TAGSTATE              7
+#define ANC_TYPE_IDX 					14
+//respose
+#define DIST_IDX 							10
+#define ANCTIMEMS             14
+#define ANCTIMEUS             16
+#define TAGSLOTPOS						7
+#define MOTORSTATE_INDEX      19
+#define NR_NEARSWITCH_DISTANCE 20
+#define REMOTEPARA_INDEX      22
+#define MAXRANGE_DISTANCE       22
+#define ANC_SIGNALPOWER         24
+#define TAG_NUM_IN_SYS				25
+#define RESP_MSG_POLL_RX_TS_IDX  26
+#define RESP_MSG_RESP_TX_TS_IDX  30
+#define RESP_MSG_ANC_DISTOFFSET  34
+
+//Final
+#define TAGCONFIGSUCCESS_INDEX 7
+#define FINAL_MSG_POLL_TX_TS_IDX 10
+#define FINAL_MSG_RESP_RX_TS_IDX 14
+#define FINAL_MSG_FINAL_TX_TS_IDX 18
+#define FINAL_MSG_RESP_RX_NEARBASE_IDX  22
+#define FINAL_MSG_TS_LEN 4
+//SYNC
+#define SYNC_SEQ_IDX    			5
+//NEAR MSG
+#define NEARMSG_EMPTYSLOTPOS_INDEX		 1 //RESPONSE
+//NEAR POLL
+#define NEARP_TAGFREQ_INDEX  10
+#define NEARP_TAGSLOTPOS_INDEX  12
+
+//uwb_update
+#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     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   //报文长度 无语音固定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   //报文长度
+#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个字节
+
+//REG POLL
+#define REGP_TAGSTATE_INDEX  10
+#define REGP_VERSION_INDEX  11
+#define REGP_FREQUENCY_INDEX  13
+#define REGP_POWER_INDEX  14
+#define REGP_IMUTHRES_INDEX  15
+#define REGP_NOMOVESLEEPTIME_INDEX  17
+#define REGP_HEIGHTOFFSET_INDEX 19
+#define REGP_BATTARY_INDEX  19
+//REG RESPONSE
+#define REGR_TAGFREQ_INDEX  10
+#define REGR_TAGSLOTPOS_INDEX  12
+#define REGR_BASENUM_INDEX    18
+#define REGR_BASEID_INDEX		 19
+
+
+#define SEQUENCE_IDX					3
+#define BATTARY_IDX						4
+#define BUTTON_IDX						7
+#define SEQUENCEH_IDX					8
+
+
+
 #define MBX_RESPONSE  0x21
 #define MBX_POLL   					        0x20
 #define MBX_RESPONSE   			            0x21
@@ -21,10 +230,10 @@
 #define TAG_ID_IDX   5
 #define GROUP_ID_IDX 0
 #define ANCHOR_ID_IDX  1
-#define MAX_NEARBASE_NUM 25
+//#define MAX_NEARBASE_NUM 25
 #define TAG_KEEPTIMES    30 //标签存活时间
-#define KEEP_TIMES 5
-#define TAG_NUM_IN_SYS				25
+//#define KEEP_TIMES 5
+//#define TAG_NUM_IN_SYS				25
 
 #define SEQUENCE_IDX					3
 #define BATTARY_IDX						4
@@ -33,9 +242,19 @@
 #define RESP_MSG_RESP_TX_TS_IDX  30
 #define RESP_MSG_ANC_DISTOFFSET  34
 
-//NEAR MSG
-#define NEARBASENUM_INDEX    10
-#define NEARBASEID_INDEX		 11
+////NEAR MSG
+//#define NEARBASENUM_INDEX    10
+//#define NEARBASEID_INDEX		 11
+#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 TAG_KEEPTIMES    30 //标签存活时间
 #define MAX_TAG_LIST_NUM 200 //同时通讯标签最大数量

--
Gitblit v1.9.3