From 367aa5722f83a17dcfe586726af74fef72db0081 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期四, 13 三月 2025 10:17:41 +0800
Subject: [PATCH] 协议未更改版本,测距550us 和帧间隔500us

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

diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c
index 28f4dcb..6e0f48b 100644
--- a/keil/include/src/Radio/lora_1268.c
+++ b/keil/include/src/Radio/lora_1268.c
@@ -14,6 +14,7 @@
 #include "dw_app_anchor.h"
 #include "HIDO_TypeDef.h"
 #include "PCA9555.h"
+#include "mk_misc.h"
 /********************************************结构体**************************************************************/
 typedef enum
 {
@@ -175,6 +176,10 @@
 uint8_t BT_NUM=0;
 extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
 extern uint8_t bat_percent;
+extern uint16_t REV_RX_NUM;
+extern uint16_t REV_POLL_NUM;
+extern uint16_t REPLY_POLL_NUM;
+uint16_t num[3]={0,0,0};
 void LoraReportPoll(void)
 {
     // delay_ms(100);
@@ -187,7 +192,7 @@
     printf("气压值:%d",intheight);
 #endif
 
-    TagListUpdate();
+//    TagListUpdate();
 
     LoraReportFreqPoll();
     flag_getwgresp = 0;
@@ -265,11 +270,18 @@
     memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],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
+		
 		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);//基站距离		
@@ -523,9 +535,7 @@
 
 void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
 {  
-	
-
-	uint16_t checksum1;
+				uint16_t checksum1;
         BufferSize = size;
         memcpy( RX_Buffer, payload, BufferSize );
         RssiValue = rssi;
@@ -554,24 +564,25 @@
 										switch(RX_Buffer[PWTAG_RW_FLAG_IDX])
 										{
 												case WGRSP_RWTAG_NONE:
-//                        wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;
-//                        memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2);
-//                        if(report_ancnum<2)
-//                        {
-//                            datalen_offset = report_ancnum*85;
-//                        }else{
-//                            datalen_offset = (report_ancnum-1)*46+85;
-//                        }
-//                        rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX];
-//                        if(BufferSize!=13||rec_secdelay>20)
-//                        {
-//                         rec_secdelay = 0;
-//                        }
-//                        sleep_time_count = rec_delaytime - delaytime-datalen_offset;
-//                        while(sleep_time_count>=1000)
-//                            sleep_time_count-=1000;
+                        wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400;
+                        memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2);
+                        if(report_ancnum<2)
+                        {
+                            datalen_offset = report_ancnum*85;
+                        }else{
+                            datalen_offset = (report_ancnum-1)*46+85;
+                        }
+                        rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX];
+                        if(BufferSize!=13||rec_secdelay>20)
+                        {
+                         rec_secdelay = 0;
+                        }
+                        sleep_time_count =(__MS_TO_32K_CNT(rec_delaytime)/10)- delaytime-datalen_offset;
+                        while(sleep_time_count>=32768)
+												{
+                         sleep_time_count-=32768;											
+												}
 //												sleep_timer_start(sleep_time_count);
-
                         break;
 												case WGRSP_RWTAG_READ:
 															no_rx_flag = 1;

--
Gitblit v1.9.3