From 34ed79bf13ca72335e5bfd0434668fbccf0b1744 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期二, 07 二月 2023 17:15:29 +0800
Subject: [PATCH] 1

---
 Src/application/dw_app.c |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c
index eb43c67..0bc8c12 100644
--- a/Src/application/dw_app.c
+++ b/Src/application/dw_app.c
@@ -766,7 +766,9 @@
 //			tyncpoll_time = (tagslotpos--%max_slotpos)*slottime;
 	}
 }
-
+extern float nomove_count;
+uint8_t pack_length = 0,pack_index = 0,pack_msgtype = 0;
+uint8_t motor_flag;
 void NearPoll(void)
 {
 	
@@ -790,9 +792,15 @@
 
 	recbase_num=0;
 //	motor_state=0;
+    if(motor_keeptime>0)
+    {
+        motor_flag = 1;
+    }else{
+        motor_flag = 0;
+    }
 	
 	tx_near_msg[BATTARY_IDX] = bat_percent;
-	tx_near_msg[BUTTON_IDX] = userkey_state|stationary_flag<<1|gotosleep_flag<<2;
+	tx_near_msg[BUTTON_IDX] = userkey_state|stationary_flag<<1|gotosleep_flag<<2|motor_flag<<5;
 	tx_near_msg[SEQUENCE_IDX] = frame_seq_nb;
   tx_near_msg[SEQUENCEH_IDX] = (frame_seq_nb++)>>8;
 	tx_near_msg[NEARBASENUM_INDEX] = nearbase_num;
@@ -824,7 +832,7 @@
 			}
 		}
 	dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置
-	HAL_GPIO_WritePin(LED1_G_GPIO_Port, LED1_G_Pin, GPIO_PIN_RESET);
+//	HAL_GPIO_WritePin(LED1_G_GPIO_Port, LED1_G_Pin, GPIO_PIN_RESET);
 //    for(i=0;i<nearbase_num+1;i++)
 //    {
 //        nearbase_distlist[i] = 0x1ffff;
@@ -985,7 +993,7 @@
             {flag_finalsend = 2;}
 			dwt_forcetrxoff();
 			dwt_write32bitreg(SYS_STATUS_ID,SYS_STATUS_RXFCG| SYS_STATUS_ALL_RX_ERR);
-			HAL_GPIO_WritePin(LED1_G_GPIO_Port, LED1_G_Pin, GPIO_PIN_SET);
+//			HAL_GPIO_WritePin(LED1_G_GPIO_Port, LED1_G_Pin, GPIO_PIN_SET);
 			if(mainbase_lost_count==0)
 			{
 				#ifdef SWITCHBASE_DIST
@@ -1017,7 +1025,7 @@
 
 			if(para_update)
 			{
-			uint8_t pack_length = 0,pack_index = 0,pack_msgtype = 0;
+			
 				pack_msgtype = rec_remotepara[0];
 				pack_index = rec_remotepara[1];
 				pack_length = rec_remotepara[2];
@@ -1025,11 +1033,12 @@
 				{
 					if( pack_index == MOTOR_ONTIME_INDEX)
 					{
-                        if(motor_keeptime==0)
+                       // if(motor_keeptime==0)
                             motor_keeptime = rec_remotepara[3];
 					}else{
                         if(pack_index<200)
                         {
+													nomove_count = 0;
                             memcpy((uint8_t*)&g_com_map + pack_index, &rec_remotepara[3], pack_length);
                             //返回一个error状态
                             //SendComMap(pack_datalen,pack_index);
@@ -1085,7 +1094,7 @@
 		dwt_starttx(DWT_START_TX_IMMEDIATE | DWT_RESPONSE_EXPECTED);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置
 	while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR)))//不断查询芯片状态直到成功接收或者发生错误
 	{ 
-		IdleTask();
+//		IdleTask();
 		
 	};
 		if(status_reg==0xffffffff)
@@ -1147,8 +1156,6 @@
 	//LED0_ON;
 	SPIx_CS_GPIO->BRR = SPIx_CS;
 	delay_us(700);
-   // GetPressAndHeight();
-   // intheight = Height*100;
 	SPIx_CS_GPIO->BSRR = SPIx_CS;
 	id =  dwt_readdevid() ;
 	    while (DWT_DEVICE_ID != id) 
@@ -1158,7 +1165,7 @@
         IdleTask();	
         if(error_times++>20)
         {
-            printf("DW ID ERROR.\r\n");
+            //printf("DW ID ERROR.\r\n");
             SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
         }
     }
@@ -1187,6 +1194,8 @@
 			break;
 		case NEARPOLL:	
 			NearPoll();
+		//	GetPressAndHeight();
+			//intheight = Height*100;
 			break;
         case SINGLEPOLL:
             Poll();

--
Gitblit v1.9.3