Quellcode durchsuchen

[Improve][Noodoe][main]

2021.03.18 / Folus Wen

Actions:
1. When ethernet can not acccess internet re-initialize interface.
2. OCPP task watch dog timer check logic implement.

Files:
1. As follow commit history

Image version: V0.51.XX.XXXX.XX
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen vor 4 Jahren
Ursprung
Commit
1d3a4efb80

+ 28 - 1
EVSE/Projects/Noodoe/Apps/main.c

@@ -1023,6 +1023,26 @@ void InitEthernet()
 				if(cnt_pingDNS_Fail >= 3)
 				{
 					ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectViaEthernet=ON;
+					if((ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthDhcpClient==0))
+					{
+						system("pgrep -f \"udhcpc -i eth0\" | xargs kill");
+						sprintf(tmpbuf, "/sbin/udhcpc -i eth0 -x hostname:CSU3_%s -s /root/dhcp_script/eth0.script > /dev/null &", ShmSysConfigAndInfo->SysConfig.SystemId);
+						system(tmpbuf);
+					}
+					else
+					{
+						system("pgrep -f \"udhcpc -i eth0\" | xargs kill");
+						memset(tmpbuf,0,256);
+						sprintf(tmpbuf,"/sbin/ifconfig eth0 %s netmask %s up &",
+						ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthIpAddress,
+						ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthSubmaskAddress);
+						system(tmpbuf);
+						memset(tmpbuf,0,256);
+						sprintf(tmpbuf,"route add default gw %s eth0 &",
+						ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthGatewayAddress);
+						system(tmpbuf);
+					}
+					cnt_pingDNS_Fail = 0;
 				}
 				else
 				{
@@ -2067,6 +2087,13 @@ void checkTask()
 
 	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.OcppServerURL,"") != 0)
 	{
+		if((time((time_t*)NULL) - ShmOCPP16Data->procDogTime) > 180)
+		{
+			DEBUG_WARN("OcppBackend watch dog timeout task restart.\n");
+			ShmOCPP16Data->procDogTime =  time((time_t*)NULL);
+			system("pkill OcppBackend");
+		}
+
 		if(system("pidof -s OcppBackend > /dev/null") != 0)
 		{
 			DEBUG_INFO("OcppBackend not running, restart it.\n");
@@ -3811,4 +3838,4 @@ int main(void)
 	}
 
 	return FAIL;
-}
+}

BIN
EVSE/Projects/Noodoe/Images/root/Module_AlarmDetect


BIN
EVSE/Projects/Noodoe/Images/root/Module_FactoryConfig


BIN
EVSE/Projects/Noodoe/Images/root/Module_InternalComm