From 3f91d9cad5d95d7a37a4af1f1ed8c99b3d7c2e64 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期五, 28 三月 2025 15:47:30 +0800
Subject: [PATCH] 有BUG,没调完

---
 Src/application/dw_mbx_tag.c |   52 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/Src/application/dw_mbx_tag.c b/Src/application/dw_mbx_tag.c
index 93dcdc7..c4b50b2 100644
--- a/Src/application/dw_mbx_tag.c
+++ b/Src/application/dw_mbx_tag.c
@@ -243,33 +243,55 @@
     dwt_entersleep();
 
 }
+#define START_FREQ    480
+#define END_FREQ      483  //LR 远距离通道
 wg_state_enum wg_state = WG_Lost;
 uint8_t lora_sendbuffer[200];
 u8 seq_num;
 extern u32 wg_lost_count;
-uint16_t wg_report_freq,wg_report_id;
+uint16_t wg_report_freq = START_FREQ,wg_report_id;
 #define WG_LOST_SWITCH_THRES   5
 #define WG_LOST_NOUWB_COUNT    60
 #define DEFAULT_WG_ID       0xFFFF
 u8 lora_jianting_flag = 1;
+
 void LoraReportFreqPoll(void)
 {
-    if(wg_lost_count++>WG_LOST_NOUWB_COUNT) //网关60秒没有通讯,就不开启UWB测距lora监听
+    if(wg_lost_count++>3)
     {
-        lora_jianting_flag = 0;
+        wg_state = WG_Lost;
+        wg_report_id = DEFAULT_WG_ID;
+       // if(wg_report_freq++>END_FREQ)
+        {
+            wg_report_freq = START_FREQ;
+        }
+        if(wg_report_freq==END_FREQ)
+        {
+            SwitchLoraSettings(wg_report_freq,LR_CHANNEL_SF,g_com_map[LORA_POWER]);    
+        }else{
+            SwitchLoraSettings(wg_report_freq, REPORT_CHANNEL_SF,g_com_map[LORA_POWER]); 
+        }
+        
+    }
+//    wg_report_freq = g_com_map[ALARM_DISTANCE2];
+    if(wg_lost_count++>WG_LOST_NOUWB_COUNT) //网关60秒没有通讯,就不开启UWB测距lora监听
+        
+    {
+       // lora_jianting_flag = 0;
     } else {
         lora_jianting_flag = 1;
     }
-    if(wg_state==WG_Lost)
-    {
-        wg_report_id = DEFAULT_WG_ID;
-        wg_report_freq = REPORT_MANGE_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
-    } else {
-        if(wg_lost_count>WG_LOST_SWITCH_THRES)
-        {
-            wg_state = WG_Lost;
-        }
-    }
+//    if(wg_state==WG_Lost)
+//    {
+//        wg_report_id = DEFAULT_WG_ID;
+//        wg_report_freq = REPORT_MANGE_CHANNEL_FRQ; //如果丢失链接就进入WG管理信道。
+//    } else {
+//        if(wg_lost_count>WG_LOST_SWITCH_THRES)
+//        {
+//            wg_state = WG_Lost;
+//        }
+//    }
+    \
 }
 static u16 checksum;
 u8 gps_state,gps_chafenlingqi,gps_satel_num,gps_signalpower;
@@ -313,7 +335,7 @@
     LoraReportFreqPoll();
     flag_getwgresp = 0;
     //  wg_report_freq = REPORT_MANGE_CHANNEL_FRQ;
-    SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
+//    SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]);
     if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
     {
         heatbeat_count = 0;
@@ -352,7 +374,7 @@
     memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
     lora_sendbuffer[SEQNUM_IDX] = seq_num++;
     lora_sendbuffer[BAT_IDX] = bat_percent;
-  //  lora_sendbuffer[BAT_IDX] = recnum[0];
+    lora_sendbuffer[BAT_IDX] = wg_report_freq-400;
    // lora_sendbuffer[SEQNUM_IDX] = recnum[1];
     lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
 #ifdef USE_GPS

--
Gitblit v1.9.3