|
@@ -1647,6 +1647,19 @@ int LoadSysConfigAndInfo(struct SysConfigData *ptr)
|
|
|
free(buf);
|
|
|
|
|
|
system("rm -f /mnt/EvseConfig.bin");
|
|
|
+
|
|
|
+ // SysConfig in flash is empty (0xffffffff)
|
|
|
+ if((strlen((char*)ShmSysConfigAndInfo->SysConfig.ModelName) > ARRAY_SIZE(ShmSysConfigAndInfo->SysConfig.ModelName)) ||
|
|
|
+ (strlen((char*)ShmSysConfigAndInfo->SysConfig.SerialNumber) > ARRAY_SIZE(ShmSysConfigAndInfo->SysConfig.SerialNumber)))
|
|
|
+ {
|
|
|
+ memset(ShmSysConfigAndInfo->SysConfig.ModelName, 0x00, ARRAY_SIZE(ShmSysConfigAndInfo->SysConfig.ModelName));
|
|
|
+ memset(ShmSysConfigAndInfo->SysConfig.SerialNumber, 0x00, ARRAY_SIZE(ShmSysConfigAndInfo->SysConfig.SerialNumber));
|
|
|
+ DEBUG_INFO("Model name or serial number over length.\n");
|
|
|
+ system("cd /root;./Module_FactoryConfig -m");
|
|
|
+ sleep(3);
|
|
|
+ system("/usr/bin/run_evse_restart.sh");
|
|
|
+ }
|
|
|
+
|
|
|
DEBUG_INFO("Load SysConfigData OK\n");
|
|
|
|
|
|
ShmCharger->isCcsEnable = OFF;
|
|
@@ -2258,7 +2271,7 @@ void get_firmware_version(unsigned char gun_index)
|
|
|
strcpy((char*)ShmSysConfigAndInfo->SysInfo.CsuPrimFwRev, ShmCharger->gun_info[gun_index].ver.Version_FW);
|
|
|
|
|
|
// Get CSU root file system version
|
|
|
- sprintf((char*)ShmSysConfigAndInfo->SysInfo.CsuRootFsFwRev, "D0.50.00.0000.00");
|
|
|
+ sprintf((char*)ShmSysConfigAndInfo->SysInfo.CsuRootFsFwRev, "D0.51.00.0000.00");
|
|
|
|
|
|
// Get AC connector type from model name
|
|
|
for(uint8_t idx=0;idx<3;idx++)
|
|
@@ -5441,6 +5454,9 @@ int main(void)
|
|
|
sprintf((char*)ShmOCPP20Data->FirmwareStatusNotification.status, "InstallationFailed");
|
|
|
ShmOCPP20Data->SpMsg.bits.FirmwareStatusNotificationReq = ON;
|
|
|
DEBUG_WARN("Firmware upgrade fail.\n");
|
|
|
+
|
|
|
+ sleep(5);
|
|
|
+ system("rm -rvf /mnt/* ");
|
|
|
close(wtdFd);
|
|
|
system("/usr/bin/run_evse_restart.sh");
|
|
|
}
|