Browse Source

2020.04.13 / Folus Wen

Actions:
1. EVSE/Modularization/Module_EventLogging.c add status code pass to WarningCode vairable on share memory for DC LCD usage.

Files:
1. As follow commit history

Image version: D0.00.XX.XXXX.XX
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen 5 years ago
parent
commit
353d47b5ec

+ 64 - 1
EVSE/Modularization/Module_EventLogging.c

@@ -186,6 +186,50 @@ void split(char **arr, char *str, const char *del)
 	}
 }
 
+void AddFaultCodeToBuf(unsigned char *Code)
+{
+        if(ShmSysConfigAndInfo->SysWarningInfo.WarningCount < 10)
+        {
+                memcpy(&ShmSysConfigAndInfo->SysWarningInfo.WarningCode[ShmSysConfigAndInfo->SysWarningInfo.WarningCount][0], Code, 7);
+                ShmSysConfigAndInfo->SysWarningInfo.WarningCount++;
+        }
+}
+
+void RemoveFaultCodeToBuf(unsigned char *Code)
+{
+	unsigned char find = 0x01;
+	char _code[7];
+	sprintf(_code,"%s", Code);
+
+	while(find)
+	{
+		find = 0x00;
+		for(unsigned char i = 0; i < ShmSysConfigAndInfo->SysWarningInfo.WarningCount; i++)
+		{
+			if (find == 0x00)
+			{
+				if(memcmp(&ShmSysConfigAndInfo->SysWarningInfo.WarningCode[i][0], _code, 7) == 0)
+				{
+						find = 0x01;
+				}
+			}
+			else
+			{
+			   if(i == ShmSysConfigAndInfo->SysWarningInfo.WarningCount - 1)
+			   {
+					   memcpy(&ShmSysConfigAndInfo->SysWarningInfo.WarningCode[i][0], "", 7);
+			   }
+			   else
+			   {
+					   memcpy(&ShmSysConfigAndInfo->SysWarningInfo.WarningCode[i][0], &ShmSysConfigAndInfo->SysWarningInfo.WarningCode[i + 1][0], 7);
+			   }
+		   }
+	   }
+
+	   if (find)
+		   ShmSysConfigAndInfo->SysWarningInfo.WarningCount--;
+	}
+}
 
 //==========================================
 // Init all share memory
@@ -259,7 +303,7 @@ int InitShareMemory()
 int main(void)
 {
 	int ByteCount,BitCount;
-	unsigned char tmp, EventCodeTmp[7];
+	unsigned char tmp, EventCodeTmp[7], EventCodeDisp[7];
 
 	if(InitShareMemory() == FAIL)
 	{
@@ -288,13 +332,20 @@ int main(void)
 					{
 						memset(EventCodeTmp,0,sizeof(EventCodeTmp));
 						memcpy(EventCodeTmp,FaultStatusCode[ByteCount*8+BitCount],sizeof(EventCodeTmp)-1);
+						memcpy(EventCodeDisp, EventCodeTmp, ARRAY_SIZE(EventCodeTmp));
+
 						if(((tmp>>BitCount)&0x01)==0)//Recovered
 						{
 							EventCodeTmp[0]='1';
 							ShmStatusCodeData->FaultCode.PreviousFaultVal[ByteCount]&=~(1<<BitCount);
+							RemoveFaultCodeToBuf(EventCodeDisp);
 						}
 						else
+						{
 							ShmStatusCodeData->FaultCode.PreviousFaultVal[ByteCount]|=(1<<BitCount);
+							AddFaultCodeToBuf(EventCodeDisp);
+						}
+
 						EVENT_INFO("%s\n", EventCodeTmp);
 					}
 				}
@@ -313,13 +364,19 @@ int main(void)
 					{
 						memset(EventCodeTmp,0,sizeof(EventCodeTmp));
 						memcpy(EventCodeTmp,AlarmStatusCode[ByteCount*8+BitCount],sizeof(EventCodeTmp)-1);
+						memcpy(EventCodeDisp, EventCodeTmp, ARRAY_SIZE(EventCodeTmp));
+
 						if(((tmp>>BitCount)&0x01)==0)//Recovered
 						{
 							EventCodeTmp[0]='1';
 							ShmStatusCodeData->AlarmCode.PreviousAlarmVal[ByteCount]&=(0<<BitCount);
+							RemoveFaultCodeToBuf(EventCodeDisp);
 						}
 						else
+						{
 							ShmStatusCodeData->AlarmCode.PreviousAlarmVal[ByteCount]|=(1<<BitCount);
+							AddFaultCodeToBuf(EventCodeDisp);
+						}
 						EVENT_INFO("%s\n", EventCodeTmp);
 					}
 				}
@@ -338,13 +395,19 @@ int main(void)
 					{
 						memset(EventCodeTmp,0,sizeof(EventCodeTmp));
 						memcpy(EventCodeTmp,InfoStatusCode[ByteCount*8+BitCount],sizeof(EventCodeTmp)-1);
+						memcpy(EventCodeDisp, EventCodeTmp, ARRAY_SIZE(EventCodeTmp));
+
 						if(((tmp>>BitCount)&0x01)==0)//Recovered
 						{
 							EventCodeTmp[0]='1';
 							ShmStatusCodeData->InfoCode.PreviousInfoVal[ByteCount]&=(0<<BitCount);
+							RemoveFaultCodeToBuf(EventCodeDisp);
 						}
 						else
+						{
 							ShmStatusCodeData->InfoCode.PreviousInfoVal[ByteCount]|=(1<<BitCount);
+							AddFaultCodeToBuf(EventCodeDisp);
+						}
 						EVENT_INFO("%s\n", EventCodeTmp);
 					}
 				}

BIN
EVSE/Projects/AW-Regular/Images/FactoryDefaultConfig.bin


BIN
EVSE/Projects/AW-Regular/Images/ramdisk.gz


+ 1 - 1
EVSE/Projects/BYTON-GB/Apps/Makefile

@@ -7,7 +7,7 @@ Lib_Module_Upgrade = "-L../../../Modularization" -lModule_Upgrade
 Lib_SQLite3 = "-L../../../Modularization/ocppfiles" -lsqlite3
 
 all: CopyFile apps
-apps: Module_InternalComm_Task Module_FactoryConfig_Task Module_EventLogging_Task Module_AlarmDetect_Task Module_CSU_Task Module_Speaker_Task
+apps: Module_InternalComm_Task Module_FactoryConfig_Task Module_AlarmDetect_Task Module_CSU_Task Module_Speaker_Task
 
 
 Module_InternalComm_Task:

+ 1 - 1
EVSE/Projects/Noodoe/Apps/Makefile

@@ -7,7 +7,7 @@ Lib_Module_Upgrade = "-L../../../Modularization" -lModule_Upgrade
 Lib_SQLite3 = "-L../../../Modularization/ocppfiles" -lsqlite3
 
 all: CopyFile apps
-apps: Module_InternalComm_Task Module_FactoryConfig_Task Module_EventLogging_Task Module_AlarmDetect_Task Module_CSU_Task Module_Speaker_Task
+apps: Module_InternalComm_Task Module_FactoryConfig_Task Module_AlarmDetect_Task Module_CSU_Task Module_Speaker_Task
 
 
 Module_InternalComm_Task:

BIN
EVSE/rootfs/root/Module_EventLogging