Procházet zdrojové kódy

add Remoteunblocking

zack před 1 rokem
rodič
revize
2e5204e861
6 změnil soubory, kde provedl 127 přidání a 37 odebrání
  1. 1 0
      Core/Inc/ConfigMacros.h
  2. 10 2
      Core/Src/freertos.c
  3. 56 31
      Core/Src/interface.c
  4. 4 0
      Core/Src/key.c
  5. 2 2
      Core/Src/ml307a.c
  6. 54 2
      Core/Src/tt808.c

+ 1 - 0
Core/Inc/ConfigMacros.h

@@ -16,6 +16,7 @@
 #define openUpload		1	
 #define updateMenu		1	
 #define debugkeyinfo	0
+#define ManualWork		0
 #define open16			11	//¿ª×Ö
 #define open16			11	//¿ª×Ö
 #define close16			12	//¹Ø×Ö

+ 10 - 2
Core/Src/freertos.c

@@ -165,6 +165,14 @@ void StartScanKeyTask(void const * argument)
 	  
 	ReBTcall();//蓝牙回应
 	  
+	  
+	  
+	  if(ReturnInterface)
+	  {
+		  ReturnInterface=false;
+		  SET_MENU_STATUS(0,0,0,0);
+	  }
+	  
    if(BT_Rebuffer[2]==0x02 || BT_Rebuffer[2]==0x03)//开锁回复
    {
 	   if(BT_Rebuffer[4]==0x01)
@@ -269,12 +277,12 @@ void StartTestTask(void const * argument)
    {//权限回复正确
 	  HAL_Delay(500);
 	  reAuth = false;		
-	   if(menu.enter==0)//开锁
+	   if(menu.enter==0)
 	   {
 		    openOrClose = menu.enter;
 		    SET_MENU_STATUS(3,1,0,4);
 	   }
-	   if(menu.enter==1)//开锁
+	   if(menu.enter==1)
 	   {
 		    openOrClose = menu.enter;
 		    SET_MENU_STATUS(3,0,1,4);

+ 56 - 31
Core/Src/interface.c

@@ -45,10 +45,6 @@ void Jump_interface(void)
 		case 0:
 		{
 			logoDisplay();//无任何绑定,显示Logo界面
-			//lockWork();
-			//ApplyPermission();
-			//PleaseWakeUp();
-			//SecondMain();
 			break;
 		}
 		case 1:
@@ -73,9 +69,23 @@ void Jump_interface(void)
 		}
 		case 5:
 		{
+			if(HAL_GetTick()-enterInterface_time > 15000)
+			{
+				ReturnInterface = true;
+			}
 			SecondMain();
 			break;
 		}
+		case 6:
+		{
+			if(HAL_GetTick()-enterInterface_time > 3000)
+			{
+				ReturnInterface = true;
+			}
+			lockWork();
+			break;
+		}
+
 	}
 
 	
@@ -138,36 +148,51 @@ void lockWork(void) //
 {	
 	char count[6]; // 数字1转换为字符串形式最多需要2个字符,再加上终止符'\0'共6个字符的空间
 	sprintf(count, "%u", macsetptr->macCount);
-	OLED_ShowChinese(18,2,56,16,1);//一
-	OLED_ShowChinese(38,2,57,16,1);//键
-	OLED_ShowChinese(58,2,18,16,1);//解
-	OLED_ShowChinese(78,2,19,16,1);//封	
-	OLED_ShowChinese(18,25,56,16,1);//一
-	OLED_ShowChinese(38,25,57,16,1);//键
-	OLED_ShowChinese(58,25,17,16,1);//施
-	OLED_ShowChinese(78,25,19,16,1);//封
-	
-	OLED_ShowChinese(20,48,26,12,1);//已
-	OLED_ShowChinese(35,48,27,12,1);//绑
-	OLED_ShowChinese(50,48,28,12,1);//定
-	OLED_ShowChinese(65,48,29,12,1);//锁
-	OLED_ShowString(80,48,(unsigned char*)"(",12,1);
-	OLED_ShowString(89,48,(unsigned char*)count,12,1);
-	OLED_ShowString(95,48,(unsigned char*)")",12,1);
-	
-//*选择
-	if(menu.down==0)
+	if(menu.current==6)
 	{
-		OLED_ShowString(100,2,(unsigned char*)"<<-",12,0);
+		
+		OLED_ShowChinese(20,48,26,12,1);//已
+		OLED_ShowChinese(35,48,27,12,1);//绑
+		OLED_ShowChinese(50,48,28,12,1);//定
+		OLED_ShowChinese(65,48,29,12,1);//锁
+		OLED_ShowString(80,48,(unsigned char*)"(",12,1);
+		OLED_ShowString(89,48,(unsigned char*)count,12,1);
+		OLED_ShowString(95,48,(unsigned char*)")",12,1);
 	}
-	else if(menu.down==1)
+	else
 	{
-		OLED_ShowString(100,25,(unsigned char*)"<<-",12,0);
+		OLED_ShowChinese(18,2,56,16,1);//一
+		OLED_ShowChinese(38,2,57,16,1);//键
+		OLED_ShowChinese(58,2,18,16,1);//解
+		OLED_ShowChinese(78,2,19,16,1);//封	
+		OLED_ShowChinese(18,25,56,16,1);//一
+		OLED_ShowChinese(38,25,57,16,1);//键
+		OLED_ShowChinese(58,25,17,16,1);//施
+		OLED_ShowChinese(78,25,19,16,1);//封
+		
+		OLED_ShowChinese(20,48,26,12,1);//已
+		OLED_ShowChinese(35,48,27,12,1);//绑
+		OLED_ShowChinese(50,48,28,12,1);//定
+		OLED_ShowChinese(65,48,29,12,1);//锁
+		OLED_ShowString(80,48,(unsigned char*)"(",12,1);
+		OLED_ShowString(89,48,(unsigned char*)count,12,1);
+		OLED_ShowString(95,48,(unsigned char*)")",12,1);
+		
+	//*选择
+		if(menu.down==0)
+		{
+			OLED_ShowString(100,2,(unsigned char*)"<<-",12,0);
+		}
+		else if(menu.down==1)
+		{
+			OLED_ShowString(100,25,(unsigned char*)"<<-",12,0);
+		}
+		else if(menu.down==2)
+		{
+			OLED_ShowString(110,48,(unsigned char*)"<<-",12,0);
+		}		
 	}
-	else if(menu.down==2)
-	{
-		OLED_ShowString(110,48,(unsigned char*)"<<-",12,0);
-	}	
+
 	
 }
 void ApplyPermission(void)//界面2 申请权限
@@ -203,7 +228,7 @@ void PleaseWakeUp(void)//
 	sprintf(workedCount, "%u", macsetptr->macWorked);
 	
 	char workedFail[6]; // 数字1转换为字符串形式最多需要2个字符,再加上终止符'\0'共6个字符的空间
-	sprintf(workedFail, "%u", macsetptr->macWorkedfail);
+//	sprintf(workedFail, "%u", macsetptr->macWorkedfail);
 	
 	OLED_ShowChinese(5,5,64,16,1);  //请
 	OLED_ShowChinese(25,5,65,16,1); //唤

+ 4 - 0
Core/Src/key.c

@@ -301,9 +301,13 @@ uint8_t KEY_4_Scan_PDA(void)
 
 void updatekeystate(void)
 {
+#if ManualWork == 1
 	KEY_1_Scan_PDA();
 	KEY_2_Scan_PDA();
 	KEY_3_Scan_PDA();
 	KEY_4_Scan_PDA();
+#else
+	
+#endif
 }
 

+ 2 - 2
Core/Src/ml307a.c

@@ -202,8 +202,8 @@ void ML307A_Init(void)
 		
 	}
 
-//	menu.current=0;//ĬÈϽøÈëPDA
-//	refresh=true;	
+	menu.current=0;//ĬÈϽøÈëPDA
+	refresh=true;	
 
 }
 

+ 54 - 2
Core/Src/tt808.c

@@ -595,6 +595,7 @@ void MqttRe(void)
 	//*PDA需求	485写入MAC号
 	 if(strncmp((char*)MqttWorkBuff, "DTU+ADDMAC",  strlen("DTU+ADDMAC"))==0)
 	 {
+		 
 		macset.macCount=0;
 		workedLock=0;
 		memset(devices,0,8);
@@ -655,12 +656,46 @@ void MqttRe(void)
 			}	
 			ReadSNname();//更新
 			Process_str_collections();//处理连接字符串		
+			enterInterface_time = HAL_GetTick();
+			 menu.current=6;//提示mac
+			 refresh=true;
 		}	 
+	 
+		
+		
+			
+		 else if(strncmp((char*)MqttWorkBuff, "DTU+WORK=ALLOPEN",  strlen("DTU+WORK=ALLOPEN"))==0)
+		 {
+			enterInterface_time = HAL_GetTick();
+			SET_MENU_STATUS(2,2,0,0);
+			Allopen=true;
+		 }
+		 else if(strncmp((char*)MqttWorkBuff, "DTU+WORK=ALLCLOSE",  strlen("DTU+WORK=ALLCLOSE"))==0)
+		 {	
+			enterInterface_time = HAL_GetTick();
+			SET_MENU_STATUS(2,1,1,1);
+			Allopen=true;
+		 }	 
+		 
 		 
+	 
+	 
+	 
+	 
+	 
+	 
+	 
+	 
+	 
 		 memset(U4_4GrecvBuff,0,BUFFER_SIZE);
 		 memset(MqttReBuff,0,U4_4GrecvLength);
 		 memset(MqttWorkBuff,0,payload_lenu8);
 	 }	
+	 
+	 
+	 
+
+	 
 }
 //*485测试命令
 void Test485Re(void)
@@ -745,8 +780,22 @@ void Test485Re(void)
 		printf("%s\r\n",version);
 		memset(U1_485recvBuff,0,BUFFER_SIZE);
 	 }
-
-
+			
+	 else if(strncmp((char*)U1_485recvBuff, "DTU+WORK=ALLOPEN",  strlen("DTU+WORK=ALLOPEN"))==0)
+	 {
+		enterInterface_time = HAL_GetTick();
+		SET_MENU_STATUS(2,2,0,0);
+		Allopen=true;
+		memset(U1_485recvBuff,0,BUFFER_SIZE);
+	 }
+	 else if(strncmp((char*)U1_485recvBuff, "DTU+WORK=ALLCLOSE",  strlen("DTU+WORK=ALLCLOSE"))==0)
+	 {	
+		enterInterface_time = HAL_GetTick();
+		SET_MENU_STATUS(2,1,1,1);
+		Allopen=true;
+		memset(U1_485recvBuff,0,BUFFER_SIZE);
+	 }	 
+	
 	 REPdaMode();//PDA 485 MQTT
 }
 				
@@ -847,6 +896,9 @@ void REPdaMode(void)
 		Process_str_collections();//处理连接字符串		
 		
 		
+		enterInterface_time = HAL_GetTick();
+		 menu.current=6;//提示mac
+		 refresh=true;
 		memset(U1_485recvBuff,0,BUFFER_SIZE);
 	 }
 }