|  | @@ -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();
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 |