From 08ea5e84edd3b20371a679e72146a939ba658994 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期二, 11 三月 2025 10:21:56 +0800
Subject: [PATCH] UWB测距正常,还有部分逻辑没验证与改写

---
 keil/include/src/Radio/lora_1268.c |   66 +++++++++++++++------------------
 1 files changed, 30 insertions(+), 36 deletions(-)

diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c
index 044c97f..31f6c71 100644
--- a/keil/include/src/Radio/lora_1268.c
+++ b/keil/include/src/Radio/lora_1268.c
@@ -165,7 +165,6 @@
 uint16_t heatbeat_count = HEATBEAT_UPDATE_TIME-1 ;
 uint16_t flag_getwgresp = 0;
 int16_t intheight;			//气压
-uint16_t FACHU_FLAG=0;
 extern uint32_t dangqian_frqe;
 uint16_t recnum[3];
 extern uint32_t freq_list[4];
@@ -176,8 +175,6 @@
 uint8_t BT_NUM=0;
 extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];
 extern uint8_t bat_percent;
-extern int32_t tagdist_list[TAG_NUM_IN_SYS];
-extern uint16_t tagid_list[TAG_NUM_IN_SYS];
 void LoraReportPoll(void)
 {
     // delay_ms(100);
@@ -194,9 +191,14 @@
 
     LoraReportFreqPoll();
     flag_getwgresp = 0;
-// wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
+   // wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
+	 //Lora_init();
+		uint32_t para;
+
+		para=freq_list[2] * 100000;
+
 //		rf_set_sf(REPORT_CHANNEL_SF);
-		SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
+		SwitchLoraSettings(para,REPORT_CHANNEL_SF,0);
 	  //rf_set_default_para(wg_report_freq,REPORT_CHANNEL_SF);
    // SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
 //	  dangqian_frqe=rf_read_freq();
@@ -259,12 +261,8 @@
 //		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[ANCID_IDX],tagid_list,report_ancnum*2);
-		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],tagdist_list,report_ancnum*2);
-//		tagdist_list[taglist_pos]tagid_list
-
+    memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
+    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];
 		if(0<BT_NUM&&BT_NUM<11)
@@ -292,7 +290,7 @@
 		Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2);
 		}
 
-    FACHU_FLAG++;
+
 //    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
 		memset(DMA_RXBuf_BT, 0,200);
 		memset(&lora_sendbuffer[ANCID_IDX],0,200);
@@ -389,7 +387,6 @@
         if(lora_send_count++%10==0||lora_jianting_flag)
         {
             lora_tx_flag=0;
-//				  	Anchor_RecNearPoll();
 #ifdef GROUPID_SWITCH
             if(rec_secdelay>0)
             {
@@ -508,7 +505,6 @@
 uint16_t BufferSize = BUFFER_SIZE;
 uint16_t CRC16=0;
 uint16_t DEST_ID=0;
-uint16_t JIESHOU_FLAG=0;
 uint8_t shengji_flag;
 int8_t RssiValue = 0;
 int8_t SnrValue = 0;
@@ -528,8 +524,8 @@
 void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
 {  
 	
-//        LORA_LED_ON;
-				uint16_t checksum1;
+
+	uint16_t checksum1;
         BufferSize = size;
         memcpy( RX_Buffer, payload, BufferSize );
         RssiValue = rssi;
@@ -540,7 +536,7 @@
 				 if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG)
 						{
 							checksum1=Checksum_u16(RX_Buffer,BufferSize-2);
-							JIESHOU_FLAG++;
+							
               memcpy(&DEST_ID,&RX_Buffer[DEST_ID_IDX],2);
 							memcpy(&CRC16,&RX_Buffer[BufferSize-2],2);
 							if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2))
@@ -558,24 +554,23 @@
 										switch(RX_Buffer[PWTAG_RW_FLAG_IDX])
 										{
 												case WGRSP_RWTAG_NONE:
-//													LORA_LED_OFF;
-//                        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;
-//												sleep_timer_start(sleep_time_count);
+                        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;
+												sleep_timer_start(sleep_time_count);
 
                         break;
 												case WGRSP_RWTAG_READ:
@@ -634,7 +629,6 @@
             Radio.Rx(0);
         }
     }
-		
 }
 
 void OnTxTimeout( void )

--
Gitblit v1.9.3