From 84649c69381018c8cba0657922c5bed4ddfaf0f7 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期五, 17 五月 2024 15:35:46 +0800
Subject: [PATCH] V2.28 改成收1秒 等3秒,中间会多次发lora

---
 Src/main.c |   48 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/Src/main.c b/Src/main.c
index 1e080a8..1cc836a 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -222,6 +222,7 @@
         HAL_UART_DMAStop(&hlpuart1); //  停止DMA传输,防止  
         while(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))	
       {
+          HAL_IWDG_Refresh(&hiwdg);
         UART_CheckReceive();
 		UART_CheckSend();
 		nomove_count = 0;
@@ -314,7 +315,7 @@
 	hardware_pici = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2);
 	hardware_type = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4);
 	//deca_sleep(1000);
-	g_com_map[VERSION] = (1<<8)|23;
+	g_com_map[VERSION] = (1<<8)|28;
 //    g_com_map[DEV_ID]=1158;
 //    #ifdef DEBUG_MODE
 //   // g_com_map[GROUP_ID]=21;
@@ -449,7 +450,8 @@
       //  SystemClock_Config();
      //   irq_num++;
         lora_irq_flag = 1;
-    //    RadioIrqProcess();
+        if(shengji_flag)
+        RadioIrqProcess();
     }
     if(GPIO_Pin == GPIO_PIN_1)//按键
     {
@@ -618,19 +620,20 @@
 uint8_t debugnum;
 uint8_t Lora_send_flag;
 extern uint8_t rec_secdelay;
+extern u16 uwb_rx_remaintime_ms;
 void Lora_Send_Poll(void)
 {
     
-    if(Lora_send_flag)
+    if(Lora_send_flag&&uwb_rx_remaintime_ms==0)
     { 
         debugnum++;
         Lora_send_flag=0; 
-        if(rec_secdelay>0)
-            {
-                loraled=YELLOW;
-                rec_secdelay--;
-                return;
-            }        
+//        if(rec_secdelay>0)
+//            {
+//                loraled=YELLOW;
+//                rec_secdelay--;
+//                return;
+//            }        
         loraled=BLUE;
         LoraReportPoll();
         flag_onesecond = 1;
@@ -699,7 +702,7 @@
     delay_ms(10);
     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //开uwb电源
     Program_Init();
-    MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。
+  //  MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。
 #ifdef _USE_BAR
 //BarInit();
 #endif 
@@ -1357,6 +1360,9 @@
 }
 #define NOGPS_RESET_TIME 300
 u8 state_count = 0;
+extern u8 lora_jianting_flag,seq_num;
+extern u32 wg_lost_count;
+extern u16 uwb_rx_remaintime_ms;
 void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
 {
  if(chongqi_flag==0&&shengji_flag==0)
@@ -1376,18 +1382,34 @@
             {HAL_NVIC_SystemReset();}
         }
         Yuying_Poll();
-        state_count++;
         switch(state_count)
         {
             case 0:
-                
+                state_count = 1;
+           if(lora_jianting_flag)
+           {
+                uwb_rx_remaintime_ms = 990;
+                UWB_RXStart(0);
+           }else{
+               seq_num--;
+               Lora_send_flag=1;
+           }
                 break;
             case 1:
+                if(wg_lost_count>0)
+                {
+                    seq_num--;
+                 Lora_send_flag=1;   
+                }
+                state_count = 2;               
                 break;
             case 2:
+                 Lora_send_flag=1;
+                state_count = 0;
                 break;
+            default: 
+                state_count = 0;
         }
-        Lora_send_flag=1;
         if(nomove_count++>g_com_map[STATIONARY_TIME])
         {
             stationary_flag = 1;

--
Gitblit v1.9.3