Quellcode durchsuchen

add DTU+MANUALMODE

zack vor 1 Jahr
Ursprung
Commit
fea043228e
6 geänderte Dateien mit 44 neuen und 11 gelöschten Zeilen
  1. 2 1
      Core/Inc/ConfigMacros.h
  2. 1 0
      Core/Inc/main.h
  3. 1 1
      Core/Src/freertos.c
  4. 7 8
      Core/Src/key.c
  5. 3 0
      Core/Src/main.c
  6. 30 1
      Core/Src/tt808.c

+ 2 - 1
Core/Inc/ConfigMacros.h

@@ -16,7 +16,7 @@
 #define openUpload		1	
 #define updateMenu		1	
 #define debugkeyinfo	0
-#define ManualWork		0
+//#define ManualWork		0
 #define open16			11	//¿ª×Ö
 #define open16			11	//¿ª×Ö
 #define close16			12	//¹Ø×Ö
@@ -34,6 +34,7 @@
 #define Sn4InfoAddr					((uint32_t)0x80503F0)  
 
 #define serialNumAddr				((uint32_t)0x8050400)  
+#define ManualWorkaddr				((uint32_t)0x8050400)  
 
 
 #define resetDevAddr				((uint32_t)0x8050800)  

+ 1 - 0
Core/Inc/main.h

@@ -93,6 +93,7 @@ void ReadSNname(void);
 extern char version[];
 extern bool wdiFlag;
 void ReadSNname(void);
+extern uint16_t ManualWork; 
 /* USER CODE END Private defines */
 
 #ifdef __cplusplus

+ 1 - 1
Core/Src/freertos.c

@@ -289,7 +289,7 @@ void StartTestTask(void const * argument)
 	   }	 
    }
    
-   if(menu.current==3 && menu.enter==4)
+   if(menu.current==3 && menu.enter==4 && macsetptr->macCount>0)
    {
 	  //uint8_t lockCount = macsetptr->macCount;//¹²²Ù×÷ËøÊý
 	 //printf("¹²²Ù×÷ËøÊý%d\r\n",lockCount);

+ 7 - 8
Core/Src/key.c

@@ -301,13 +301,12 @@ 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
+	if(ManualWork==1)
+	{
+		KEY_1_Scan_PDA();
+		KEY_2_Scan_PDA();
+		KEY_3_Scan_PDA();
+		KEY_4_Scan_PDA();
+	}
 }
 

+ 3 - 0
Core/Src/main.c

@@ -57,6 +57,8 @@ uint16_t sys_mode[2];
 bool wdiFlag = false;
 
 char version[] = "\r\nVER:dtu-20240428\r\n";
+
+uint16_t ManualWork=0; 
 /* USER CODE END PM */
 
 /* Private variables ---------------------------------------------------------*/
@@ -212,6 +214,7 @@ uint16_t mac_u16[24];
 void ReadSNname(void)
 {
 	Flash_ReadBytes(&macsetptr->macCount,MacDbHeadAddr,1);//获取共存多少MAC(用于重启写入)
+	Flash_ReadBytes(&ManualWork,ManualWorkaddr,1);
 	if(macsetptr->macCount==0xFFFF)
 	{
 		macsetptr->macCount=0;

+ 30 - 1
Core/Src/tt808.c

@@ -591,6 +591,22 @@ void MqttRe(void)
 			printf("%s\r\n",version);
 		 }
 		 
+		 else if(strncmp((char*)MqttWorkBuff, "DTU+MANUALMODE=1",  strlen("DTU+MANUALMODE=1"))==0)
+		 {
+			ManualWork = 1;
+			Flash_WriteBytes(&ManualWork,ManualWorkaddr,1);
+			printf("手动模式开启\r\n");
+		 }		 
+		 else if(strncmp((char*)MqttWorkBuff, "DTU+MANUALMODE=0",  strlen("DTU+MANUALMODE=0"))==0)
+		 {
+			ManualWork = 0;
+			Flash_WriteBytes(&ManualWork,ManualWorkaddr,1);
+			printf("手动模式关闭\r\n");
+		 }		 
+		 		 
+		 
+		 
+		 
 	 HAL_StatusTypeDef WriteSta;
 	//*PDA需求	485写入MAC号
 	 if(strncmp((char*)MqttWorkBuff, "DTU+ADDMAC",  strlen("DTU+ADDMAC"))==0)
@@ -795,7 +811,20 @@ void Test485Re(void)
 		Allopen=true;
 		memset(U1_485recvBuff,0,BUFFER_SIZE);
 	 }	 
-	
+	 else if(strncmp((char*)U1_485recvBuff, "DTU+MANUALMODE=1",  strlen("DTU+MANUALMODE=1"))==0)
+	 {
+		ManualWork = 1;
+		Flash_WriteBytes(&ManualWork,ManualWorkaddr,1);
+		printf("手动模式开启\r\n");
+		memset(U1_485recvBuff,0,BUFFER_SIZE);
+	 }		 
+	 else if(strncmp((char*)U1_485recvBuff, "DTU+MANUALMODE=0",  strlen("DTU+MANUALMODE=0"))==0)
+	 {
+		ManualWork = 0;
+		Flash_WriteBytes(&ManualWork,ManualWorkaddr,1);
+		printf("手动模式关闭\r\n");
+		memset(U1_485recvBuff,0,BUFFER_SIZE);
+	 }	
 	 REPdaMode();//PDA 485 MQTT
 }