From 015bafa2f40cfbf4ea884e26ebbbf398a5565b5a Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 15 九月 2020 21:49:57 +0800
Subject: [PATCH] 修改标签按键读取参数BUG

---
 Src/main.c |   41 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/Src/main.c b/Src/main.c
index 2ffbe79..5eb9090 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -28,6 +28,8 @@
 #include "deca_device_api.h"
 #include "global_param.h"
 #include "TrackingDiff.h"
+#include "dw_app.h"
+//#define DEBUG_MODE
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/
@@ -91,6 +93,17 @@
 	u16 count=HAL_LPTIM_ReadCounter(&hlptim1);
  return count*LPTIMER_LSB/1000;
 }	
+void UsartInit(void)
+{
+	waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
+	 MX_DMA_Init();
+	MX_USART1_UART_Init();
+ if(HAL_UART_Receive_DMA(&huart1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE))
+	{
+	 Error_Handler();
+	}
+}
+uint8_t state5v;
 void IdleTask(void)
 {u16 current_time;
 	
@@ -109,6 +122,11 @@
 //	LED_TR_OFF;
 	current_time=GetLPTime();
 	//motor_state=2;
+		if(g_com_map[MOTOR_ONTIME]>0)
+	{
+		g_com_map[MOTOR_ONTIME]--;
+		motor_state = 1;
+	}
 	switch(motor_state)
 		{case 0:
 			MOTOR_OFF;
@@ -131,6 +149,11 @@
 	}
 	if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))
 	{
+		if(state5v==0)
+		{
+			state5v=1;
+			UsartInit();
+		}
 		if(bat_percent>99)
 		{
 			LED_LR_OFF;
@@ -140,6 +163,7 @@
 			LED_LG_OFF;		
 		}		
 	}else{
+		state5v=0;
 		LED_LR_OFF;
 		LED_LG_OFF;
 //	}
@@ -211,7 +235,7 @@
 	Usart1ParseDataCallback = UsartParseDataHandler;
 	parameter_init();
 	//deca_sleep(1000);
-	g_com_map[VERSION] = 0x010d;
+	g_com_map[VERSION] = 0x010f;
 #ifdef DEBUG_MODE
 //	g_com_map[DEV_ROLE]=1;
 //		g_com_map[DEV_ID]=1;
@@ -311,6 +335,7 @@
   MX_SPI1_Init();
   MX_ADC_Init();
   /* USER CODE BEGIN 2 */
+	LED_LG_ON;
 	Program_Init();
 	LIS3DH_Data_Init();	
 	Dw1000_Init();
@@ -369,8 +394,9 @@
 		}
 			if(m_bEUARTTxEn==0&&waitusart_timer==0)
 			{	
-				
+#ifndef DEBUG_MODE				
 				HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);  
+#endif
 			}
 		
  
@@ -753,6 +779,7 @@
   /*Enter the Standby mode*/
   HAL_PWR_EnterSTANDBYMode();	
 }
+extern uint8_t tx_near_msg[80],stationary_flag;
 extern float nomove_count;
 float key_keeptime;
 void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
@@ -773,6 +800,16 @@
 	}else{
 		key_keeptime=0;
 	}
+	if(nomove_count>STATIONARY_TIME)
+	{
+		stationary_flag = 1;
+	}else{
+		stationary_flag = 0;
+	}
+if(nomove_count>=g_com_map[NOMOVESLEEP_TIME]-1&&imu_enable)
+	{
+		tx_near_msg[TAGSTATE] = tx_near_msg[TAGSTATE]|GOINGSLEEPBIT;
+	}
 	if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable)
 	{
 		mcu_sleep();

--
Gitblit v1.9.3