|  | @@ -660,9 +660,8 @@ static portBASE_TYPE prvTaskInfoCommand(cli_state_t *cli_state, int8_t *pcWriteB
 | 
	
		
			
				|  |  |                      strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      break;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (i >= INFO_ADDRESS && i <= INFO_COMMENTS) {
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +            if (i >= INFO_DEV_NAME && i <= INFO_COMMENTS) {
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
	
		
			
				|  | @@ -694,8 +693,7 @@ static portBASE_TYPE prvTaskRebootCommand(cli_state_t *cli_state, int8_t *pcWrit
 | 
	
		
			
				|  |  |          strcpy( ( char * ) pcWriteBuffer, ( char * ) pcRebootHeader );
 | 
	
		
			
				|  |  |          return pdTRUE;
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  | -        telnet_act = true;
 | 
	
		
			
				|  |  | -        Reboot(TELNET_ACT);
 | 
	
		
			
				|  |  | +        Reboot(CLI_ACT);
 | 
	
		
			
				|  |  |          return pdFALSE;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -815,8 +813,7 @@ static portBASE_TYPE prvTaskSystimeCommand(cli_state_t *cli_state, int8_t *pcWri
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (!fail) {
 | 
	
		
			
				|  |  |                      SetDateStr(str);
 | 
	
		
			
				|  |  | -                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -850,8 +847,7 @@ static portBASE_TYPE prvTaskSystimeCommand(cli_state_t *cli_state, int8_t *pcWri
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (!fail) {
 | 
	
		
			
				|  |  |                      SetTimeStr(str);
 | 
	
		
			
				|  |  | -                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -927,8 +923,7 @@ static portBASE_TYPE prvTaskNTPCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |                  enable_old_sntp = sSettings.sSNTP.sntpEnable;
 | 
	
		
			
				|  |  |                  SetSntpStateStr("1");
 | 
	
		
			
				|  |  |                  if (sSettings.sSNTP.sntpEnable != enable_old_sntp) {
 | 
	
		
			
				|  |  | -                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      SNTP_Init();
 | 
	
		
			
				|  |  |                      //vTaskDelay(7000);
 | 
	
		
			
				|  |  |                      SNTP_Poll();
 | 
	
	
		
			
				|  | @@ -938,8 +933,7 @@ static portBASE_TYPE prvTaskNTPCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |                  enable_old_sntp = sSettings.sSNTP.sntpEnable;
 | 
	
		
			
				|  |  |                  SetSntpStateStr("0");
 | 
	
		
			
				|  |  |                  if (sSettings.sSNTP.sntpEnable != enable_old_sntp) {
 | 
	
		
			
				|  |  | -                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      SNTP_Init();
 | 
	
		
			
				|  |  |                      //vTaskDelay(7000);
 | 
	
		
			
				|  |  |                      SNTP_Poll();
 | 
	
	
		
			
				|  | @@ -998,8 +992,7 @@ static portBASE_TYPE prvTaskNTPCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |                      if (ipaddr_addr(str_temp) != IPADDR_NONE) {
 | 
	
		
			
				|  |  |                          if (strncmp(str_temp, sSettings.sSNTP.ip, strlen(str_temp)) != 0) {
 | 
	
		
			
				|  |  |                              SetSntpServerIpStr(str_temp);
 | 
	
		
			
				|  |  | -                            SETTINGS_Save();
 | 
	
		
			
				|  |  | -                            log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                            cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                              SNTP_Init();
 | 
	
		
			
				|  |  |                              //vTaskDelay(7000);
 | 
	
		
			
				|  |  |                              SNTP_Poll();
 | 
	
	
		
			
				|  | @@ -1029,8 +1022,7 @@ static portBASE_TYPE prvTaskNTPCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |                          float value = atof(str_temp);
 | 
	
		
			
				|  |  |                          if (value >= -12.0 && value <= 12.0) {
 | 
	
		
			
				|  |  |                              SetSntpTimeZoneStr(str_temp);
 | 
	
		
			
				|  |  | -                            SETTINGS_Save();
 | 
	
		
			
				|  |  | -                            log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                            cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                          } else {
 | 
	
		
			
				|  |  |                              strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                          }
 | 
	
	
		
			
				|  | @@ -1284,8 +1276,7 @@ static portBASE_TYPE prvTaskSNMPCommand(cli_state_t *cli_state, int8_t *pcWriteB
 | 
	
		
			
				|  |  |                                          break;
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  |                                  if (temp > 0 && temp < 6) {
 | 
	
		
			
				|  |  | -                                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  |                              } else {
 | 
	
		
			
				|  |  |                                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
	
		
			
				|  | @@ -1320,12 +1311,10 @@ static portBASE_TYPE prvTaskSNMPCommand(cli_state_t *cli_state, int8_t *pcWriteB
 | 
	
		
			
				|  |  |                  if (control_string_en_digit(temp_str, strlen(temp_str))) {
 | 
	
		
			
				|  |  |                      if (strncmp(str, "read", 4) == 0) {
 | 
	
		
			
				|  |  |                          SetReadCommunity(temp_str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else if (strncmp(str, "write", 5) == 0) {
 | 
	
		
			
				|  |  |                          SetWriteCommunity(temp_str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1427,8 +1416,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_VOLT_CELL_MIN:
 | 
	
		
			
				|  |  |              if (value < sSettings.UPS_Setting.Ucellmax && value > MIN_VOLT_CELL_RANGE) {
 | 
	
		
			
				|  |  |                  SetUPSVoltCellMinStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1436,8 +1424,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_VOLT_CELL_MAX:
 | 
	
		
			
				|  |  |              if (value > sSettings.UPS_Setting.Ucellmin && value <= MAX_VOLT_CELL_RANGE) {
 | 
	
		
			
				|  |  |                  SetUPSVoltCellMaxStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1446,8 +1433,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_CAPACITY:
 | 
	
		
			
				|  |  |              if (value >= CAPACITY_MIN_RANGE && value <= CAPACITY_MAX_RANGE && (value - (int32_t)value) == 0) {
 | 
	
		
			
				|  |  |                  SetCapacityNominalAKBStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1455,8 +1441,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_VOLT:
 | 
	
		
			
				|  |  |              if (value >= AKB_VOLTAGE_MIN_RANGE && value <= AKB_VOLTAGE_MAX_RANGE && ((int32_t)value % 12) == 0 && (value - (int32_t)value) == 0) {
 | 
	
		
			
				|  |  |                  SetVoltageAKBNominalStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1464,8 +1449,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_LIFETIME:
 | 
	
		
			
				|  |  |              if (value >= LIFETIME_MIN_RANGE && value <= LIFETIME_MAX_RANGE  && (value - (int32_t)value) == 0) {
 | 
	
		
			
				|  |  |                  SetLifeTimeAKBStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1511,8 +1495,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (!fail) {
 | 
	
		
			
				|  |  |                      SetDataSetAKBStr(str);
 | 
	
		
			
				|  |  | -                    SETTINGS_Save();
 | 
	
		
			
				|  |  | -                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -1520,8 +1503,7 @@ static portBASE_TYPE prvTaskAKBCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |          case ARG_AKB_UPS_POWER:
 | 
	
		
			
				|  |  |              if (value >= UPS_POWER_MIN_RANGE && value <= UPS_POWER_MAX_RANGE && ((int32_t)value % 50) == 0 && (value - (int32_t)value) == 0) {
 | 
	
		
			
				|  |  |                  SetUPSPowerStr(str);
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1636,8 +1618,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= MIN_TEMP_MIN_RANGE && value <= MIN_TEMP_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetTemperatureAlarmLowRangeStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1652,8 +1633,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= MAX_TEMP_MIN_RANGE && value <= MAX_TEMP_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetTemperatureAlarmHighRangeStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1668,8 +1648,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= HIST_TEMP_MIN_RANGE && value <= HIST_TEMP_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetTemperatureAlarmHisteStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1694,8 +1673,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= MAX_LOAD_MIN_RANGE && value <= MAX_LOAD_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetLoadAlarmHighRangeStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1710,8 +1688,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= HIST_LOAD_MIN_RANGE && value <= HIST_LOAD_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetLoadAlarmHistStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1733,8 +1710,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= MIN_VAC_MIN_RANGE && value <= MIN_VAC_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetVACAlarmLowRangeStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1749,8 +1725,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= MAX_VAC_MIN_RANGE && value <= MAX_VAC_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetVACAlarmHighRangeStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -1765,8 +1740,7 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
 | 
	
		
			
				|  |  |                      value = atof(str);
 | 
	
		
			
				|  |  |                      if (value >= HIST_VAC_MIN_RANGE && value <= HIST_VAC_MAX_RANGE) {
 | 
	
		
			
				|  |  |                          SetVACAlarmHisteStr(str);
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  |                      }
 | 
	
	
		
			
				|  | @@ -2104,7 +2078,7 @@ static portBASE_TYPE prvTaskUserCommand(cli_state_t *cli_state, int8_t *pcWriteB
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              strncat(temp_str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
 | 
	
		
			
				|  |  |              // FIXME proper context
 | 
	
		
			
				|  |  | -#if 0
 | 
	
		
			
				|  |  | +#if 1
 | 
	
		
			
				|  |  |              for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  GetUserLogin(user_id, WebLogin, &valueLen);
 | 
	
	
		
			
				|  | @@ -2113,16 +2087,16 @@ static portBASE_TYPE prvTaskUserCommand(cli_state_t *cli_state, int8_t *pcWriteB
 | 
	
		
			
				|  |  |                  if (strncmp(WebLogin, temp_str, MAX_WEB_LOGIN_LEN) == 0) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      /* Login and pass are valid */
 | 
	
		
			
				|  |  | -                    id_change_pwd = user_id;
 | 
	
		
			
				|  |  | +                    cli_state->id_change_pwd = user_id;
 | 
	
		
			
				|  |  |                      strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcChangePWDHeader, strlen( ( char * ) pcChangePWDHeader ) );
 | 
	
		
			
				|  |  | -                    telnetState = CLI_CHANGE_PWD;
 | 
	
		
			
				|  |  | +                    cli_state->input_state = CLI_CHANGE_PWD;
 | 
	
		
			
				|  |  |                      break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (telnetState != CLI_CHANGE_PWD) {
 | 
	
		
			
				|  |  | +            if (cli_state->input_state != CLI_CHANGE_PWD) {
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |                  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
		
			
				|  |  | -            //}
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  |          strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
 | 
	
	
		
			
				|  | @@ -2245,11 +2219,10 @@ static portBASE_TYPE prvTaskConfigCommand(cli_state_t *cli_state, int8_t *pcWrit
 | 
	
		
			
				|  |  |          if (xParameterStringLength < 13) {
 | 
	
		
			
				|  |  |              if (strncmp(str, "default", 7) == 0) {
 | 
	
		
			
				|  |  |                  SNMP_SendUserTrap(DEVICE_RESTORED);
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SYSTEM_DEFCONFIG, name_login_telnet);
 | 
	
		
			
				|  |  | +                log_event_data(LOG_SYSTEM_DEFCONFIG, "Администратор");
 | 
	
		
			
				|  |  |                  vTaskDelay(500);
 | 
	
		
			
				|  |  |                  SETTINGS_SetPartDefault();
 | 
	
		
			
				|  |  | -                SETTINGS_Save();
 | 
	
		
			
				|  |  | -                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                  strcpy( ( char * ) pcWriteBuffer,
 | 
	
		
			
				|  |  |                      "\t\tНастройки сброшены к настройкам по умолчанию!\r\n");
 | 
	
		
			
				|  |  |              } else {
 | 
	
	
		
			
				|  | @@ -2311,23 +2284,20 @@ static portBASE_TYPE prvTaskNetConfigCommand(cli_state_t *cli_state, int8_t *pcW
 | 
	
		
			
				|  |  |                  /* Если параметры WEB изменились выставляем флаг, сохраняем настройки и перезагружаемся */
 | 
	
		
			
				|  |  |                  if (GetStateWebReinit() == true) {
 | 
	
		
			
				|  |  |                      start = 1;
 | 
	
		
			
				|  |  | -                    telnet_act = true;
 | 
	
		
			
				|  |  |                      SetWebReinitFlag(true);
 | 
	
		
			
				|  |  | -                    HTTP_SaveSettings();
 | 
	
		
			
				|  |  | +                    cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      strcpy( ( char * ) pcWriteBuffer,
 | 
	
		
			
				|  |  |                          "\t\tНастройки сохранены! Контроллер будет перезагружен\r\n\tПосле перезагрузки подтвердите изменения сетевых настроек\r\n");
 | 
	
		
			
				|  |  |                      return pdTRUE;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  | -                telnet_act = true;
 | 
	
		
			
				|  |  |                  start = 0;
 | 
	
		
			
				|  |  |                  vTaskDelay(1010);
 | 
	
		
			
				|  |  | -                Reboot(TELNET_ACT);
 | 
	
		
			
				|  |  | +                Reboot(CLI_ACT);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              break;
 | 
	
		
			
				|  |  |          case ARG_NETCONFIG_CONFIRM:
 | 
	
		
			
				|  |  | -            telnet_act = true;
 | 
	
		
			
				|  |  |              SetWebReinitFlag(false);
 | 
	
		
			
				|  |  |              SetConfirmWebParamsFlag();
 | 
	
		
			
				|  |  |              strcpy( ( char * ) pcWriteBuffer, "\t\tСетевые настройки подтверждены!\r\n");
 | 
	
	
		
			
				|  | @@ -2643,8 +2613,7 @@ static portBASE_TYPE prvTaskSensorCommand(cli_state_t *cli_state, int8_t *pcWrit
 | 
	
		
			
				|  |  |                              break;
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          SetDINTypeActStr(temp_str, (val - 1));
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      } else if (strncmp(str, "DO", 2) == 0) {
 | 
	
		
			
				|  |  |                          if (val < 1 || val > 3) {
 | 
	
	
		
			
				|  | @@ -2658,8 +2627,7 @@ static portBASE_TYPE prvTaskSensorCommand(cli_state_t *cli_state, int8_t *pcWrit
 | 
	
		
			
				|  |  |                              break;
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          SetROTypeActStr(temp_str, (val - 1));
 | 
	
		
			
				|  |  | -                        SETTINGS_Save();
 | 
	
		
			
				|  |  | -                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
 | 
	
		
			
				|  |  | +                        cli_save_config(cli_state);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      fail = 1;
 | 
	
	
		
			
				|  | @@ -2706,7 +2674,6 @@ static portBASE_TYPE prvTaskUploadCommand(cli_state_t *cli_state, int8_t *pcWrit
 | 
	
		
			
				|  |  |          strcpy( ( char * ) pcWriteBuffer, ( char * ) pcUploadHeader );
 | 
	
		
			
				|  |  |          return pdTRUE;
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  | -        telnet_act = true;
 | 
	
		
			
				|  |  |          HTTP_StartResetTask(true);
 | 
	
		
			
				|  |  |          return pdFALSE;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -2777,7 +2744,7 @@ static portBASE_TYPE prvTaskUPSCommand(cli_state_t *cli_state, int8_t *pcWriteBu
 | 
	
		
			
				|  |  |              val = atoi(str);
 | 
	
		
			
				|  |  |              if (val == 0) {
 | 
	
		
			
				|  |  |                  res = ups_metac_service_pdu(ups_cancel_test);
 | 
	
		
			
				|  |  | -                set_act_source(TELNET_ACT);
 | 
	
		
			
				|  |  | +                set_act_source(CLI_ACT);
 | 
	
		
			
				|  |  |                  if (res == 1) {
 | 
	
		
			
				|  |  |                      log_event_data(LOG_TEST_UPS, "Администратор (Останов)");
 | 
	
		
			
				|  |  |                      strcpy( ( char * ) pcWriteBuffer, "\t\tКоманда \"Останов теста\" принята ИБП!\r\n");
 |