|
@@ -864,6 +864,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");
|
|
|
|
|
|
return PASS;
|