Sfoglia il codice sorgente

2021-12-29 / Eason Yang
Action
1. Added : Reset wifi power logic for hardware reset.

File
1. main.c
Action 1

FIRMWARE VERSION: B0.59.XX.XXXX.PX

8009 3 anni fa
parent
commit
aeeb445e89
2 ha cambiato i file con 26 aggiunte e 1 eliminazioni
  1. 25 0
      EVSE/Projects/AW-CCS/Apps/main.c
  2. 1 1
      EVSE/Projects/AW-CCS/Apps/main.h

+ 25 - 0
EVSE/Projects/AW-CCS/Apps/main.c

@@ -34,6 +34,7 @@
 #define TIMEOUT_SPEC_POWERSAVING_METER			120
 #define TIMEOUT_SPEC_POWERSAVING_LED_STATUS		120
 #define TIMEOUT_SPEC_CEHCK_POWER_CONSUMPTION	15
+#define TIMEOUT_SPEC_RESET_WIFI_MODULE			300
 
 //==========================
 // GPIO constant define
@@ -2576,6 +2577,30 @@ void InitEthernet()
 				}
 			}
 
+			// Reset wifi function
+			if((!ShmSysConfigAndInfo->SysInfo.OcppConnStatus) &&
+			   (ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectViaWiFi == ON) &&
+			   (ShmSysConfigAndInfo->SysConfig.AthInterface.WifiMode == 1))
+			{
+				if((getDiffSecNow(startTime[0][TMR_IDX_RESET_WIFI]) > TIMEOUT_SPEC_RESET_WIFI_MODULE))
+				{
+					DEBUG_INFO("Reset wifi power. \n");
+					DEBUG_INFO("The wifi interface may not be found. \n");
+					
+					system("echo 1 > /sys/class/gpio/gpio59/value");
+					sleep(3);
+					system("echo 0 > /sys/class/gpio/gpio59/value");
+
+					refreshStartTimer(&startTime[0][TMR_IDX_RESET_WIFI]);
+				}
+				else
+				{}
+			}
+			else
+			{
+				refreshStartTimer(&startTime[0][TMR_IDX_RESET_WIFI]);
+			}
+
 			sleep(5);
 		}
 	}

+ 1 - 1
EVSE/Projects/AW-CCS/Apps/main.h

@@ -233,7 +233,7 @@ enum TIMER_IDX
 	TMR_IDX_POWERSAVING_LED_STATUS,
 	TMR_IDX_CHECK_POWER_CONSUMPTION,
 	TMR_IDX_LCM_POWER_CONSUMPTION,
-	TMR_IDX_15,
+	TMR_IDX_RESET_WIFI,
 	TMR_IDX_16,
 	TMR_IDX_17,
 	TMR_IDX_18,