From 4ac8869c86534136e97ed4bf738a83e65cdefafa Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期五, 14 三月 2025 10:31:03 +0800
Subject: [PATCH] 添加了新的协议内容,还添加了保留位

---
 keil/include/src/Radio/lora_1268.c |   70 ++++++++++++++++-------------------
 1 files changed, 32 insertions(+), 38 deletions(-)

diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c
index 6e0f48b..7dcbd08 100644
--- a/keil/include/src/Radio/lora_1268.c
+++ b/keil/include/src/Radio/lora_1268.c
@@ -180,6 +180,7 @@
 extern uint16_t REV_POLL_NUM;
 extern uint16_t REPLY_POLL_NUM;
 uint16_t num[3]={0,0,0};
+extern uint8_t stationary_flag;
 void LoraReportPoll(void)
 {
     // delay_ms(100);
@@ -240,18 +241,21 @@
     lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS;
     lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30;
 #else
-    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
-    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+ANCID_IDX;
+		BT_NUM=DMA_RXBuf_BT[0];
+//    lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
+		lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
+    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+3;
 #endif
     memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
     memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
     lora_sendbuffer[SEQNUM_IDX] = seq_num++;
     lora_sendbuffer[BAT_IDX] = bat_percent;
+		lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
 		//GET_USERKEY这个是那个lora——busy那个引脚
 //		lora_sendbuffer[STATE_IDX]=0x01;
 //		lora_sendbuffer[GATEWAY_CHANL]=0x02;
 //		lora_sendbuffer[CHANL_NUM]=0x03;
-   // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
+    
 #ifdef USE_GPS
     memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
     memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_jingdu,8);
@@ -261,46 +265,36 @@
     lora_sendbuffer[GPS_SPOWER_IDX] = gps_signalpower;
     lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi;
 #endif
-    //  memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2);
-//		memcpy(&report_ancid,test_temp,10);
-//		memcpy(&report_ancdist,test_temp2,10); 
-
-    lora_sendbuffer[ANCNUM_IDX] = report_ancnum;
-    memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
-    memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2);
+    memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&intheight,2);
+    lora_sendbuffer[BT_ANCID_IDX] = report_ancnum;
+    memcpy(&lora_sendbuffer[BT_ANCID_IDX+1],report_ancid,report_ancnum*2);
+    memcpy(&lora_sendbuffer[BT_ANCID_IDX+report_ancnum*2+1],report_ancdist,report_ancnum*2);
 		uint8_t LORA_RETRANSNUSSION_BT=0;
-		BT_NUM=DMA_RXBuf_BT[0];
-		num[0]=REV_RX_NUM;
-		num[1]=REV_POLL_NUM;
-		num[2]=REPLY_POLL_NUM;
-//		REV_RX_NUM=0;
-//		REV_POLL_NUM=0;
-//		REPLY_POLL_NUM=0;
-		if(0<BT_NUM&&BT_NUM<11)
-		{
-	  lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
-    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4;
-		//LORA_RETRANSNUSSION_BT   report_ancnum_bt
-		
+//		
+//		num[0]=REV_RX_NUM;
+//		num[1]=REV_POLL_NUM;
+//		num[2]=REPLY_POLL_NUM;
+		LORA_RETRANSNUSSION_BT=BT_ANCID_IDX+report_ancnum*4+1;
 		lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; 		//蓝牙上传标识符
+
     memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1); 									//基站ID
     memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离		
-		lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2;
-		}
-		if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
-		{
-		checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2);
-		memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2);
-		BT_SEND_flag++;
-		Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4);	
+		lora_sendbuffer[MSG_LENGTH] = LORA_RETRANSNUSSION_BT+4*BT_NUM+1;
+//		}
+//		if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
+//		{
+		checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+BT_ANCID_IDX+3);
+		memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*4+2],&checksum,2);
+		BT_SEND_flag=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5;
+		Radio.Send(lora_sendbuffer,BT_SEND_flag);	
 //		LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
-		}
-		else
-		{
-		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
-		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
-		Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2);
-		}
+//		}
+//		else
+//		{
+//		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
+//		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
+//		Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2);
+//		}
 
 
 //    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);

--
Gitblit v1.9.3