From 767edd5ec2a133c04c5d84aeba4135f0bd21d23f Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 28 八月 2024 15:11:49 +0800
Subject: [PATCH] V3.1,改为最新逻辑。 1.铁鞋没有处于充电状态&&同时在运动状态,正常定位,有uwb发uwb跟gps数据,没有就看是否有gps数据,有发gps数据没有发lbs数据。 2.铁鞋没有处于充电状态&&同时在静止休状态,1秒钟发送一次状态和位置坐标;直到定位引擎回复收到消息后,设备停止发送状态进入休眠模式;20分钟后再次启动工作,重复(避免铁鞋被盗找不到) 3.铁鞋插上充电时候(延迟x秒后,为了确保能判断归箱)1秒钟发送一次在充电状态;定位引擎回复收到消息后,设备停止发送状态进入休眠模式(目的太阳能充电省电) 4.铁鞋充电到100%后启动4G工作,1秒钟发送一次充满电状态;定位引擎回复收到消息后,设备停止发送状态进入休眠模式(目的太阳能充电省电)。休眠模式是指:所有外设不再工作,不联网不测距。PS:每两种状态之间切换时,只要之前进入过休眠,就要重新开启4g,联网时间根据信号强度5-20s不等。重新联网期间没有办法上发任何数据。

---
 radio/Lora.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/radio/Lora.c b/radio/Lora.c
index d630c99..314a20b 100644
--- a/radio/Lora.c
+++ b/radio/Lora.c
@@ -180,6 +180,7 @@
 uint8_t rec_index;
 uint16_t rec_value,rec_delaytime,rx_count;
 int16_t target_count;
+uint16_t testlorarecve;
 void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
 {   
         BufferSize = size;
@@ -189,6 +190,7 @@
         Radio.Standby();
     if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL)
     {
+        testlorarecve++;
             UWB_Wkup();
             MbxTagUwbRec();  
             HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_RESET); //片选lora有效
@@ -199,7 +201,7 @@
 void OnTxTimeout( void )
 {
     Radio.Standby();
-    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0);
+    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,22);
 }
     uint8_t tm;
 uint16_t Lora_rece_error;
@@ -211,7 +213,7 @@
 //    while(target_count<0)
 //        target_count+=32768;
 //    __HAL_LPTIM_COMPARE_SET(&hlptim1, target_count);
-    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0);
+    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,22);
     Radio.Rx(0);
 }
 
@@ -219,7 +221,7 @@
 {
 
     Radio.Standby();
-    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0);
+    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,22);
     Radio.Rx(0);
 }
 
@@ -255,7 +257,7 @@
     RadioEvents.RxError = OnRxError;
 
     Radio.Init( &RadioEvents );
-    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],5,0); //切换lora接收频点  
+    SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,22); //切换lora接收频点  
 
     Radio.Sleep();
       

--
Gitblit v1.9.3