|
@@ -69,7 +69,7 @@ void SETTINGS_SetBootParamsDef(void)
|
|
|
*/
|
|
|
void SETTINGS_SetWebParamsDef(void)
|
|
|
{
|
|
|
- strcpy(sSettings.sWebParams.ip, "192.168.14.63");
|
|
|
+ strcpy(sSettings.sWebParams.ip, "192.168.0.254");
|
|
|
strcpy(sSettings.sWebParams.gate, "192.168.14.1");
|
|
|
strcpy(sSettings.sWebParams.mask, "255.255.255.0");
|
|
|
sSettings.sWebParams.dhcpEnable = 1;
|
|
@@ -312,6 +312,10 @@ void SETTINGS_Load(void)
|
|
|
{
|
|
|
uint32_t loadCRC; // CRC из flash
|
|
|
uint32_t newCRC; // CRC загруженной структуры настроек
|
|
|
+ bool need_default = false;
|
|
|
+
|
|
|
+ WEB_PARAMS_t sWebParamsBackup;
|
|
|
+ BOOT_PARAMS_t bootParamsBackup;
|
|
|
|
|
|
SETTINGS_ReadFromFlash((uint8_t*)&sSettings, sizeof(sSettings));
|
|
|
/* Считываем CRC из флеш памяти */
|
|
@@ -321,9 +325,38 @@ void SETTINGS_Load(void)
|
|
|
newCRC = SETTINGS_GetCRC();
|
|
|
|
|
|
if (loadCRC != newCRC) {
|
|
|
- SETTINGS_SetAllDefault();
|
|
|
- SETTINGS_Save();
|
|
|
- }
|
|
|
+ /* SETTINGS_SetAllDefault();
|
|
|
+ SETTINGS_Save();*/
|
|
|
+ need_default = true;
|
|
|
+ }
|
|
|
+ /* CRC совпала, проверяем контрольное слово если слово не совпадает
|
|
|
+ то это значит, что поплыла структура нстроек, прошиваем дефолт */
|
|
|
+ else if (sSettings.controlWorld != SETTINGS_CONTROL_WORD)
|
|
|
+ {
|
|
|
+ need_default = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* Прошиваем дефолтные настройки если нужно */
|
|
|
+ if (need_default) {
|
|
|
+
|
|
|
+ /* Бэкапим сетевые параметры загрузчика */
|
|
|
+ memcpy(&sWebParamsBackup, &sSettings.sWebParams, sizeof(sWebParamsBackup));
|
|
|
+
|
|
|
+ /* Бэкапим флаги загрузчика */
|
|
|
+ memcpy(&bootParamsBackup, &sSettings.bootParams, sizeof(bootParamsBackup));
|
|
|
+ loadCRC = sSettings.CritSecCRC;
|
|
|
+ newCRC = SETTINGS_GetCritSecCRC();
|
|
|
+ SETTINGS_SetAllDefault();
|
|
|
+ if (loadCRC == newCRC) {
|
|
|
+ /* Применяем флаги загрузчика */
|
|
|
+ memcpy(&sSettings.bootParams, &bootParamsBackup, sizeof(sSettings.bootParams));
|
|
|
+
|
|
|
+ /* Применяем сетевые параметры загрузчика */
|
|
|
+ memcpy(&sSettings.sWebParams, &sWebParamsBackup, sizeof(sSettings.sWebParams));
|
|
|
+ }
|
|
|
+
|
|
|
+ SETTINGS_Save();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|