CHENJIE-PC\QiXiang_CHENJIE 3 роки тому
батько
коміт
883c754554
4 змінених файлів з 30 додано та 5 видалено
  1. 1 1
      inc/Signal.h
  2. 2 0
      src/Signal.c
  3. 24 4
      src/TcpTask.c
  4. 3 0
      src/UartTask.c

+ 1 - 1
inc/Signal.h

@@ -49,7 +49,7 @@ extern	UINT32	nbSwVersion;
 extern	UINT32	battBalanceoInfo;
 
 
-
+extern UINT16 ErrorNum;//故障代码
 extern UINT8 	TcpSendLen;
 
 

+ 2 - 0
src/Signal.c

@@ -80,5 +80,7 @@ UINT32	battBalanceoInfo = 0xFFFFFFFF;
 //Tcp
 UINT8 	TcpSendLen = 0;
 
+UINT16 ErrorNum = 0x00;
+
 
 

+ 24 - 4
src/TcpTask.c

@@ -34,6 +34,7 @@
 //全局变量输出区
 UINT32 TcpService = 0;
 UINT8 WorkFlag=0;
+QueueHandle_t Error_Handle = NULL;
 //全局变量输入区
 extern UINT32 Timer_count;
 extern volatile BOOL Sleep_flag;
@@ -85,6 +86,10 @@ static void TcpTask(void* arg)
 	{
 		TcpRecvHandle = osMessageQueueNew(1,sizeof(TcpipConnectionRecvDataInd*), NULL);
 	}
+    if(Error_Handle == NULL)
+	{
+		Error_Handle = osMessageQueueNew(5,sizeof(UINT16), NULL);
+	}
     while (true)
     {
         osDelay(100);
@@ -271,6 +276,7 @@ static void TcpDataInfoAssembleSend()
 
     UINT16 year;
     UINT8 month,day,hour,minute,sec;
+    UINT16 ErrorTemp;
     UTC8TimeType UTC8TimeTcp;
 	int i = 0;
 	INT8 len = -1;
@@ -352,10 +358,24 @@ static void TcpDataInfoAssembleSend()
         BattToTcpInfo.battInfo.msgCollectionTimeUTC[5] = UTC8TimeTcp.second & 0xFF;							//sec
         BattToTcpInfo.battInfo.signalStrength = csq ;
         //故障等级故障代码未定义
-        BattToTcpInfo.battInfo.errClass = 0x01;
-        BattToTcpInfo.battInfo.errCode[0] = 0x01;
-	    BattToTcpInfo.battInfo.errCode[1] = 0x01;
-		
+        if(osMessageQueueGet(Error_Handle, &ErrorTemp, 0, 0)==osOK)
+        {
+            #ifdef USING_PRINTF
+                printf("Temp-Error:%d\n",ErrorTemp);
+            #endif
+            BattToTcpInfo.battInfo.errClass = 0x00;
+            BattToTcpInfo.battInfo.errCode[0] = ErrorTemp>>8;
+            BattToTcpInfo.battInfo.errCode[1] = ErrorTemp;
+        }
+        else
+        {
+            #ifdef USING_PRINTF
+                printf("Temp-Error:%d\n",ErrorTemp);
+            #endif
+            BattToTcpInfo.battInfo.errClass = 0x00;
+            BattToTcpInfo.battInfo.errCode[0] = 0x00;
+            BattToTcpInfo.battInfo.errCode[1] = 0x00;
+        }
 		BattToTcpInfo.battInfo.battI[0] = battI>>8;
 		BattToTcpInfo.battInfo.battI[1] = battI & 0xFF;
 		

+ 3 - 0
src/UartTask.c

@@ -38,6 +38,7 @@ extern UINT32 Timer_count;
 extern volatile BOOL Sleep_flag; 
 extern AppNVMDataType AppNVMData;
 extern AppDataBody AppDataInfo;
+extern QueueHandle_t Error_Handle ;
 //全局变量输出区
 BOOL UartBattInfoRecvFlag  = false;
 QueueHandle_t UartWriteCmdHandle = NULL;
@@ -359,6 +360,8 @@ static BOOL uartBattInfoDecode(UINT8* dataPtr)
 	}
 	nbSwVersion = APPSWVERSION;
 	nbHwVersion = HWVERSION;
+	ErrorNum = 0xFF00;
+	osMessageQueuePut(Error_Handle,&ErrorNum,0,0);
 	
     return true;
 }