Răsfoiți Sursa

[bt_6709 telnet server]add new settings and monitorins parameters

balbekova 5 ani în urmă
părinte
comite
6356e10518

+ 2341 - 2275
modules/Telnet_Server/CLI_Commands.c

@@ -43,110 +43,104 @@ extern state_telnet_server_t telnetState;
 extern uint8_t id_change_pwd;
 
 
-const int8_t * const pcInvalidCommand = ( int8_t * ) "Неправильно введены параметры команды.  Введите \"help\" для просмотра списка поддерживаемых команд.\r\n\r\n";
-const int8_t * const pcPermissionDenied = ( int8_t * ) "Отказ в доступе!\r\n\r\n";
-const int8_t * const pcSystymeDenied = ( int8_t * ) "Ручной ввод времени не доступен!\r\n\r\n";
+const int8_t *const pcInvalidCommand = ( int8_t * )
+    "Неправильно введены параметры команды.  Введите \"help\" для просмотра списка поддерживаемых команд.\r\n\r\n";
+const int8_t *const pcPermissionDenied = ( int8_t * ) "Отказ в доступе!\r\n\r\n";
+const int8_t *const pcSystymeDenied = ( int8_t * )
+    "Ручной ввод времени не доступен!\r\n\r\n";
 
 
-const char* info_args_list[] =
-{
-	"name",
-	"address",
+const char *info_args_list[] = {
+    "name",
+    "address",
     "owner",
     "comments",
 };
 
-const char* ups_args_list[] =
-{
-	"battest",
+const char *ups_args_list[] = {
+    "battest",
     "shutdown",
 };
 
-const char* systime_args_list[] =
-{
-	"date",
+const char *systime_args_list[] = {
+    "date",
     "time",
 };
 
-const char* network_args_list[] =
-{
-	"info",
-	"dhcp",
+const char *network_args_list[] = {
+    "info",
+    "dhcp",
     "ip",
     "gw",
     "mask",
 };
 
-const char* snmp_args_list[] =
-{
-	"info",
-	"server",
+const char *snmp_args_list[] = {
+    "info",
+    "server",
     "community",
 };
 
-const char* akb_args_list[] =
-{
-	"info",
-	"voltcellmin",
-	"voltcellmax",
+const char *akb_args_list[] = {
+    "info",
+    "voltcellmin",
+    "voltcellmax",
+#ifdef HARDWARE_BT6709
+    "capacity",
+    "voltakb",
+    "lifetime",
+    "dataset",
+    "upspower",
+#endif
 };
 
-const char* type_alarm_args_list[] =
-{
-	"info",
-	"temp",
-	"load",
-	"vout",
+const char *type_alarm_args_list[] = {
+    "info",
+    "temp",
+    "load",
+    "vout",
 };
 
-const char* alarm_args_list[] =
-{
-	"low",
-	"high",
-	"hist",
+const char *alarm_args_list[] = {
+    "low",
+    "high",
+    "hist",
 };
 
-const char* whitelist_args_list[] =
-{
-	"info",
-	"range",
+const char *whitelist_args_list[] = {
+    "info",
+    "range",
 };
 
-const char* ntp_args_list[] =
-{
-	"ENA",
-	"DIS",
-	"info",
-	"set",
+const char *ntp_args_list[] = {
+    "ENA",
+    "DIS",
+    "info",
+    "set",
 };
 
-const char* config_args_list[] =
-{
-	"info",
-	"load",
+const char *config_args_list[] = {
+    "info",
+    "load",
 };
 
-const char* netconfig_args_list[] =
-{
-	"apply",
-	"confirm",
+const char *netconfig_args_list[] = {
+    "apply",
+    "confirm",
 };
 
-const char* history_args_list[] =
-{
-	"EVENTS",
-	"UPS",
+const char *history_args_list[] = {
+    "EVENTS",
+    "UPS",
 };
 
-const char* sensor_args_list[] =
-{
-	"info",
-	"setup",
+const char *sensor_args_list[] = {
+    "info",
+    "setup",
 };
 
-const char* user_args_list[] =
-{
-	"passwd",
+const char *user_args_list[] = {
+    "passwd",
 };
 
 /**
@@ -164,12 +158,14 @@ static portBASE_TYPE prvTaskInfoCommand( int8_t *pcWriteBuffer, size_t xWriteBuf
 /*
  * Implements the reboot command.
  */
-static portBASE_TYPE prvTaskRebootCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskRebootCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the systime command.
  */
-static portBASE_TYPE prvTaskSystimeCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskSystimeCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the ntp command.
@@ -179,7 +175,8 @@ static portBASE_TYPE prvTaskNTPCommand( int8_t *pcWriteBuffer, size_t xWriteBuff
 /*
  * Implements the network command.
  */
-static portBASE_TYPE prvTaskNetworkCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskNetworkCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the snmp command.
@@ -194,13 +191,15 @@ static portBASE_TYPE prvTaskAKBCommand( int8_t *pcWriteBuffer, size_t xWriteBuff
 /*
  * Implements the alarm command.
  */
-static portBASE_TYPE prvTaskAlarmCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskAlarmCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 #ifdef HARDWARE_BT6709
 /*
  * Implements the whitelist command.
  */
-static portBASE_TYPE prvTaskWhiteListCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskWhiteListCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 #endif
 
 /*
@@ -211,27 +210,32 @@ static portBASE_TYPE prvTaskUserCommand( int8_t *pcWriteBuffer, size_t xWriteBuf
 /*
  * Implements the config command.
  */
-static portBASE_TYPE prvTaskConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the netconfig command.
  */
-static portBASE_TYPE prvTaskNetConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskNetConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the history command.
  */
-static portBASE_TYPE prvTaskHistoryCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskHistoryCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the sensor info command.
  */
-static portBASE_TYPE prvTaskSensorCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskSensorCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the firmware download http command.
  */
-static portBASE_TYPE prvTaskUploadCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString );
+static portBASE_TYPE prvTaskUploadCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString );
 
 /*
  * Implements the ups command.
@@ -241,2380 +245,2442 @@ static portBASE_TYPE prvTaskUPSCommand( int8_t *pcWriteBuffer, size_t xWriteBuff
 
 /* Structure that defines the "info" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvInfoCommandDefinition =
-{
-	( const int8_t * const ) "info", /* The command string to type. */
-	( const int8_t * const ) "\tinfo: вывод информации о контроллере\r\n"
+static const CLI_Command_Definition_t prvInfoCommandDefinition = {
+    ( const int8_t *const ) "info",  /* The command string to type. */
+    ( const int8_t *const ) "\tinfo: вывод информации о контроллере\r\n"
 							"\tinfo name <name>: установка поля \"название устройства\"\r\n"
-	 	 	 	 	 	 	 "\tinfo address <adrr>: установка поля \"адрес расположения контролируемого объекта\"\r\n"
-	 	 	 	 	 	 	 "\tinfo owner <owner>: установка поля \"организация (собственник)\"\r\n"
-	 	 	 	 	 	 	 "\tinfo comments <comment>: установка поля \"комментарии\"\r\n",
-	prvTaskInfoCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+							"\tinfo address <adrr>: установка поля \"адрес расположения контролируемого объекта\"\r\n"
+							"\tinfo owner <owner>: установка поля \"организация (собственник)\"\r\n"
+							"\tinfo comments <comment>: установка поля \"комментарии\"\r\n",
+							prvTaskInfoCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "reboot" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvRebootCommandDefinition =
-{
-	( const int8_t * const ) "reboot", /* The command string to type. */
-	( const int8_t * const ) "\treboot: перезагрузка Контроллера\r\n",
-	prvTaskRebootCommand, /* The function to run. */
-	0 /* No parameters are expected. */
+static const CLI_Command_Definition_t prvRebootCommandDefinition = {
+    ( const int8_t *const ) "reboot",  /* The command string to type. */
+    ( const int8_t *const ) "\treboot: перезагрузка Контроллера\r\n",
+    prvTaskRebootCommand, /* The function to run. */
+    0 /* No parameters are expected. */
 };
 
 /* Structure that defines the "systime" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvSystimeCommandDefinition =
-{
-	( const int8_t * const ) "systime", /* The command string to type. */
-	( const int8_t * const ) "\tsystime: вывод системного времени\r\n"
-	 	 	 	 	 	 	 "\tsystime date <YYYY-MM-DD>: установка даты\r\n"
-	 	 	 	 	 	 	 "\tsystime time <HH:MM>: установка времени\r\n",
-	prvTaskSystimeCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvSystimeCommandDefinition = {
+    ( const int8_t *const ) "systime",  /* The command string to type. */
+    ( const int8_t *const ) "\tsystime: вывод системного времени\r\n"
+							"\tsystime date <YYYY-MM-DD>: установка даты\r\n"
+							"\tsystime time <HH:MM>: установка времени\r\n",
+    prvTaskSystimeCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "ntp" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvNTPCommandDefinition =
-{
-	( const int8_t * const ) "ntp", /* The command string to type. */
-	( const int8_t * const ) "\tntp ENA|DIS: разрешение/запрет синхронизации времени\r\n"
-	 	 	 	 	 	 	 "\tntp set IP <A.B.C.D>: установка сервера NTP\r\n"
-	 	 	 	 	 	 	 "\tntp info: вывод информации о сервере NTP\r\n"
-	 	 	 	 	 	 	 "\tntp set gmt <SIGN><NUM>: установка часового пояса\r\n",
-	prvTaskNTPCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvNTPCommandDefinition = {
+    ( const int8_t *const ) "ntp",  /* The command string to type. */
+    ( const int8_t *const ) "\tntp ENA|DIS: разрешение/запрет синхронизации времени\r\n"
+							"\tntp set IP <A.B.C.D>: установка сервера NTP\r\n"
+							"\tntp info: вывод информации о сервере NTP\r\n"
+							"\tntp set gmt <SIGN><NUM>: установка часового пояса\r\n",
+    prvTaskNTPCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "network" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvNetworkCommandDefinition =
-{
-	( const int8_t * const ) "network", /* The command string to type. */
-	( const int8_t * const ) "\tnetwork info вывод информации о текущих сетевых настройках:\r\n"
-	 	 	 	 	 	 	 "\tnetwork dhcp ENA|DIS: разрешение/запрет получения IP по DHCP\r\n"
-	 	 	 	 	 	 	 "\tnetwork ip <A.B.C.D>: установка статического IP\r\n"
-	 	 	 	 	 	 	 "\tnetwork gw <A.B.C.D>: установка шлюза\r\n"
-	 	 	 	 	 	 	 "\tnetwork mask <A.B.C.D>: установка маски подсети\r\n",
-	prvTaskNetworkCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvNetworkCommandDefinition = {
+    ( const int8_t *const ) "network",  /* The command string to type. */
+    ( const int8_t *const ) "\tnetwork info вывод информации о текущих сетевых настройках:\r\n"
+							"\tnetwork dhcp ENA|DIS: разрешение/запрет получения IP по DHCP\r\n"
+							"\tnetwork ip <A.B.C.D>: установка статического IP\r\n"
+							"\tnetwork gw <A.B.C.D>: установка шлюза\r\n"
+							"\tnetwork mask <A.B.C.D>: установка маски подсети\r\n",
+    prvTaskNetworkCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "snmp" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvSNMPCommandDefinition =
-{
-	( const int8_t * const ) "snmp", /* The command string to type. */
-	( const int8_t * const ) "\tsnmp info: вывод информации о текущих SNMP настройках\r\n"
-	 	 	 	 	 	 	 "\tsnmp server <NUM> <A.B.C.D>: установка сервера SNMP\r\n"
-	 	 	 	 	 	 	 "\tsnmp community read <read>: установка Read community\r\n"
-	 	 	 	 	 	 	 "\tsnmp community write <write>: установка Write community\r\n",
-	prvTaskSNMPCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvSNMPCommandDefinition = {
+    ( const int8_t *const ) "snmp",  /* The command string to type. */
+    ( const int8_t *const ) "\tsnmp info: вывод информации о текущих SNMP настройках\r\n"
+							"\tsnmp server <NUM> <A.B.C.D>: установка сервера SNMP\r\n"
+							"\tsnmp community read <read>: установка Read community\r\n"
+							"\tsnmp community write <write>: установка Write community\r\n",
+    prvTaskSNMPCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "akb" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvAKBCommandDefinition =
-{
-	( const int8_t * const ) "akb", /* The command string to type. */
-	( const int8_t * const ) "\takb info: вывод информации о параметрах АКБ\r\n"
-	 	 	 	 	 	 	 "\takb voltcellmin <value>: ввод минимального напряжения на ячейки АКБ (В)\r\n"
-	 	 	 	 	 	 	 "\takb voltcellmax <value>: ввод максимального напряжения на ячейки АКБ (В)\r\n",
-	prvTaskAKBCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvAKBCommandDefinition = {
+    ( const int8_t *const ) "akb",  /* The command string to type. */
+    ( const int8_t *const ) "\takb info: вывод информации о параметрах АКБ\r\n"
+							"\takb voltcellmin <value>: ввод минимального напряжения на ячейки АКБ (В)\r\n"
+							"\takb voltcellmax <value>: ввод максимального напряжения на ячейки АКБ (В)\r\n"
+#ifdef HARDWARE_BT6709
+							"\takb capacity <value>: ввод ёмкости АКБ (Ач)\r\n"
+							"\takb voltakb <value>:  ввод номинального напряжения АКБ (В)\r\n"
+							"\takb lifetime <value>: ввод срока службы АКБ (лет)\r\n"
+							"\takb dataset <YYYY-MM-DD>: ввод даты установки АКБ\r\n"
+							"\takb upspower <value>: ввод полной мощности ИБП (ВА)\r\n"
+#endif							
+	,
+    prvTaskAKBCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /* Structure that defines the "alarm" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvAlarmCommandDefinition =
-{
-	( const int8_t * const ) "alarm", /* The command string to type. */
-	( const int8_t * const ) "\talarm info: вывод информации о параметрах АКБ\r\n"
-	 	 	 	 	 	 	 "\talarm temp low <value>: ввод нижней границы аварии по температуре (С)\r\n"
-	 	 	 	 	 	 	 "\talarm temp high <value>: ввод верxней границы аварии по температуре (С)\r\n"
-	 	 	 	 	 	 	 "\talarm temp hist <value>: ввод гистерезиса аварии по температуре (С)\r\n"
-							 "\talarm load high <value>: ввод верхней границы аварии по нагрузке (%)\r\n"
-							 "\talarm load hist <value>: ввод гистерезиса аварии по нагрузке (%)\r\n"
-	 	 	 	 	 	 	 "\talarm vout low <value>: ввод нижней границы аварии по вых. напряжению (В)\r\n"
-							 "\talarm vout high <value>: ввод верxней границы аварии по вых. напряжению (В)\r\n"
-							 "\talarm vout hist <value>: ввод гистерезиса аварии по вых. напряжению (В)\r\n",
-	prvTaskAlarmCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvAlarmCommandDefinition = {
+    ( const int8_t *const ) "alarm",  /* The command string to type. */
+    ( const int8_t *const ) "\talarm info: вывод информации о параметрах АКБ\r\n"
+							"\talarm temp low <value>: ввод нижней границы аварии по температуре (С)\r\n"
+							"\talarm temp high <value>: ввод верxней границы аварии по температуре (С)\r\n"
+							"\talarm temp hist <value>: ввод гистерезиса аварии по температуре (С)\r\n"
+							"\talarm load high <value>: ввод верхней границы аварии по нагрузке (%)\r\n"
+							"\talarm load hist <value>: ввод гистерезиса аварии по нагрузке (%)\r\n"
+							"\talarm vout low <value>: ввод нижней границы аварии по вых. напряжению (В)\r\n"
+							"\talarm vout high <value>: ввод верxней границы аварии по вых. напряжению (В)\r\n"
+							"\talarm vout hist <value>: ввод гистерезиса аварии по вых. напряжению (В)\r\n",
+    prvTaskAlarmCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 #ifdef HARDWARE_BT6709
 /* Structure that defines the "whitelist" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvWhiteListCommandDefinition =
-{
-	( const int8_t * const ) "whitelist", /* The command string to type. */
-	( const int8_t * const ) "\twhitelist info: вывод информации о текущем белом списке IP адресов контроллера\r\n"
-	 	 	 	 	 	 	 "\twhitelist range <NUM> <A.B.C.D/E>: установка диапазона IP адресов\r\n",
-	prvTaskWhiteListCommand, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvWhiteListCommandDefinition = {
+    ( const int8_t *const ) "whitelist",  /* The command string to type. */
+    ( const int8_t *const ) "\twhitelist info: вывод информации о текущем белом списке IP адресов контроллера\r\n"
+    						"\twhitelist range <NUM> <A.B.C.D/E>: установка диапазона IP адресов\r\n",
+    prvTaskWhiteListCommand, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 #endif
 
 /* Structure that defines the "user" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvUserCommandDefinition =
-{
-	( const int8_t * const ) "user", /* The command string to type. */
-	( const int8_t * const ) "\tuser passwd <name>: установка пароля для пользователя <name>\r\n",
-	prvTaskUserCommand, /* The function to run. */
-	2 /* Two parameters are expected, which can take any value. */
+static const CLI_Command_Definition_t prvUserCommandDefinition = {
+    ( const int8_t *const ) "user",  /* The command string to type. */
+    ( const int8_t *const ) "\tuser passwd <name>: установка пароля для пользователя <name>\r\n",
+    prvTaskUserCommand, /* The function to run. */
+    2 /* Two parameters are expected, which can take any value. */
 };
 
 /* Structure that defines the "config" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvConfigCommandDefinition =
-{
-	( const int8_t * const ) "config", /* The command string to type. */
-	( const int8_t * const ) "\tconfig info: вывод информации о состоянии конфигураций\r\n"
-	 	 	 	 	 	 	 "\tconfig load default: загрузка конфигурации по умолчанию\r\n",
-	prvTaskConfigCommand, /* The function to run. */
-	-1 /* Two parameters are expected, which can take any value. */
+static const CLI_Command_Definition_t prvConfigCommandDefinition = {
+    ( const int8_t *const ) "config",  /* The command string to type. */
+    ( const int8_t *const ) "\tconfig info: вывод информации о состоянии конфигураций\r\n"
+    						"\tconfig load default: загрузка конфигурации по умолчанию\r\n",
+    prvTaskConfigCommand, /* The function to run. */
+    -1 /* Two parameters are expected, which can take any value. */
 };
 
 /* Structure that defines the "config" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvNetConfigCommandDefinition =
-{
-	( const int8_t * const ) "netconfig", /* The command string to type. */
-	( const int8_t * const ) "\tnetconfig apply: применение конфигурации сетевых настроек\r\n"
-	 	 	 	 	 	 	 "\tnetconfig confirm: подтверждение конфигурации сетевых настроек\r\n",
-	prvTaskNetConfigCommand, /* The function to run. */
-	1 /* Two parameters are expected, which can take any value. */
+static const CLI_Command_Definition_t prvNetConfigCommandDefinition = {
+    ( const int8_t *const ) "netconfig",  /* The command string to type. */
+    ( const int8_t *const ) "\tnetconfig apply: применение конфигурации сетевых настроек\r\n"
+    						"\tnetconfig confirm: подтверждение конфигурации сетевых настроек\r\n",
+    prvTaskNetConfigCommand, /* The function to run. */
+    1 /* Two parameters are expected, which can take any value. */
 };
 
 /* Structure that defines the "history" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvHistoryCommandDefinition =
-{
-	( const int8_t * const ) "history", /* The command string to type. */
-	( const int8_t * const ) "\thistory show EVENTS|UPS <num_page>:	вывод журнала\r\n",
-	prvTaskHistoryCommand, /* The function to run. */
-	3 /* Two parameters are expected, which can take any value. */
+static const CLI_Command_Definition_t prvHistoryCommandDefinition = {
+    ( const int8_t *const ) "history",  /* The command string to type. */
+    ( const int8_t *const ) "\thistory show EVENTS|UPS <num_page>:	вывод журнала\r\n",
+    prvTaskHistoryCommand, /* The function to run. */
+    3 /* Two parameters are expected, which can take any value. */
 };
 
 /* Structure that defines the "sensor info" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvSensorCommandDefinition =
-{
-	( const int8_t * const ) "sensor", /* The command string to type. */
-	( const int8_t * const ) "\tsensor info: вывод параметров системы (выход из режима Ctrl+C далее Enter)\r\n"
+static const CLI_Command_Definition_t prvSensorCommandDefinition = {
+    ( const int8_t *const ) "sensor",  /* The command string to type. */
+    ( const int8_t *const ) "\tsensor info: вывод параметров системы (выход из режима Ctrl+C далее Enter)\r\n"
 #ifdef HARDWARE_BT6707
-								"\tsensor 	setup DI <num> <state>: установка нормального состояния сухого контакта:\r\n"
-								"\t\t\t\t0 - разомкнутое состояние\r\n"
-								"\t\t\t\t1 - замкнутое состояние\r\n"
-								"\tsensor 	setup DO <num> <issue>: установка источника срабатывания реле:\r\n"
-								"\t\t\t\t1 - Наличие сети\r\n"
-								"\t\t\t\t2 - Наличие выходного напряжения\r\n"
-								"\t\t\t\t3 - Разряд АКБ\r\n"
-								"\t\t\t\t4 - Отключение АКБ\r\n"
-								"\t\t\t\t5 - SNMP SET\r\n"
+							"\tsensor 	setup DI <num> <state>: установка нормального состояния сухого контакта:\r\n"
+							"\t\t\t\t0 - разомкнутое состояние\r\n"
+							"\t\t\t\t1 - замкнутое состояние\r\n"
+							"\tsensor 	setup DO <num> <issue>: установка источника срабатывания реле:\r\n"
+							"\t\t\t\t1 - Наличие сети\r\n"
+							"\t\t\t\t2 - Наличие выходного напряжения\r\n"
+							"\t\t\t\t3 - Разряд АКБ\r\n"
+							"\t\t\t\t4 - Отключение АКБ\r\n"
+							"\t\t\t\t5 - SNMP SET\r\n"
 #endif
-	,
-	prvTaskSensorCommand, /* The function to run. */
-	-1 /* No parameters are expected. */
+    ,
+    prvTaskSensorCommand, /* The function to run. */
+    -1 /* No parameters are expected. */
 };
 
 /* Structure that defines the "firmware dowmload http" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvUploadCommandDefinition =
-{
-	( const int8_t * const ) "firmware download http", /* The command string to type. */
-	( const int8_t * const ) "\tfirmware download http: переход в режим обновления через Web-сервер\r\n",
-	prvTaskUploadCommand, /* The function to run. */
-	2 /* No parameters are expected. */
+static const CLI_Command_Definition_t prvUploadCommandDefinition = {
+    ( const int8_t *const ) "firmware download http",  /* The command string to type. */
+    ( const int8_t *const ) "\tfirmware download http: переход в режим обновления через Web-сервер\r\n",
+    prvTaskUploadCommand, /* The function to run. */
+    2 /* No parameters are expected. */
 };
 
 /* Structure that defines the "ups" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvUPSCommandDefinition =
-{
-	( const int8_t * const ) "ups", /* The command string to type. */
-	( const int8_t * const ) "\tups battest <num>: управление процедурой тестирования АКБ:\r\n"
-	 	 	 	 	 	 	 "\t\t\t\t0 - Остановить тестирование\r\n"
-	 	 	 	 	 	 	 "\t\t\t\t1-99 - Запустить тест на x минут\r\n"
-	 	 	 	 	 	 	 "\t\t\t\t100 - Тестирование в течение 10 секунд\r\n"
-	 	 	 	 	 	 	 "\t\t\t\t999 - Тестирование до разряда\r\n"
-	 	 	 	 	 	 	 "\tups shutdown <num>: управление отключением нагрузки ИБП:\r\n"
-	 	 	 	 	 	 	 "\t\t\t\t0 - Остановить процедуру отключения нагрузки\r\n"
-	 	 	 	 	 	 	 "\t\t\t\tn - Отключить нагрузку через n минут\r\n"
-	 	 	 	 	 	 	 "\t\t\t\tn: 0.2, 0.3, ..., 1, 2, ..., 10\r\n",
-	prvTaskUPSCommand, /* The function to run. */
-	2 /* Two parameters are expected, which can take any value. */
+static const CLI_Command_Definition_t prvUPSCommandDefinition = {
+    ( const int8_t *const ) "ups",  /* The command string to type. */
+    ( const int8_t *const ) "\tups battest <num>: управление процедурой тестирования АКБ:\r\n"
+							"\t\t\t\t0 - Остановить тестирование\r\n"
+							"\t\t\t\t1-99 - Запустить тест на x минут\r\n"
+							"\t\t\t\t100 - Тестирование в течение 10 секунд\r\n"
+							"\t\t\t\t999 - Тестирование до разряда\r\n"
+							"\tups shutdown <num>: управление отключением нагрузки ИБП:\r\n"
+							"\t\t\t\t0 - Остановить процедуру отключения нагрузки\r\n"
+							"\t\t\t\tn - Отключить нагрузку через n минут\r\n"
+							"\t\t\t\tn: 0.2, 0.3, ..., 1, 2, ..., 10\r\n",
+    prvTaskUPSCommand, /* The function to run. */
+    2 /* Two parameters are expected, which can take any value. */
 };
 
 /* Structure that defines the "quit" command line command.   This
 generates a table that shows how much run time each task has */
-static const CLI_Command_Definition_t prvQuitCommandDefinition =
-{
-	( const int8_t * const ) "quit", /* The command string to type. */
-	( const int8_t * const ) "\tquit: завершение сессии\r\n",
-	NULL, /* The function to run. */
-	-1 /* The user can enter any number of commands. */
+static const CLI_Command_Definition_t prvQuitCommandDefinition = {
+    ( const int8_t *const ) "quit",  /* The command string to type. */
+    ( const int8_t *const ) "\tquit: завершение сессии\r\n",
+    NULL, /* The function to run. */
+    -1 /* The user can enter any number of commands. */
 };
 
 /*-----------------------------------------------------------*/
 
 void vRegisterCLICommands( void )
 {
-	/* Register all the command line commands defined immediately above. */
-	FreeRTOS_CLIRegisterCommand( &prvInfoCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvRebootCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvSystimeCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvNTPCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvNetworkCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvSNMPCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvAKBCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvAlarmCommandDefinition );
+    /* Register all the command line commands defined immediately above. */
+    FreeRTOS_CLIRegisterCommand( &prvInfoCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvRebootCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvSystimeCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvNTPCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvNetworkCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvSNMPCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvAKBCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvAlarmCommandDefinition );
 #ifdef HARDWARE_BT6709
-	FreeRTOS_CLIRegisterCommand( &prvWhiteListCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvWhiteListCommandDefinition );
 #endif
-	FreeRTOS_CLIRegisterCommand( &prvUserCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvConfigCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvNetConfigCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvHistoryCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvSensorCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvUploadCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvUPSCommandDefinition );
-	FreeRTOS_CLIRegisterCommand( &prvQuitCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvUserCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvConfigCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvNetConfigCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvHistoryCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvSensorCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvUploadCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvUPSCommandDefinition );
+    FreeRTOS_CLIRegisterCommand( &prvQuitCommandDefinition );
 }
 /*-----------------------------------------------------------*/
 
 static portBASE_TYPE prvTaskInfoCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
 {
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t len;
-	int8_t num_arg = 0;
-	uint8_t i;
-	static uint8_t page = 0;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	num_arg = prvGetNumberOfParameters(pcCommandString);
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	if(num_arg == 0){
-		const int8_t * const pcInfoTableHeader = ( int8_t * ) "\r\n**************Информация о Контроллере**************\r\n";
-		const int8_t * const pcUPSInfoTableHeader = ( int8_t * ) "\r\n*****************Информация об ИБП******************\r\n";
-		if(!page){
-			/* Return the next command help string, before moving the pointer on to
-			the next command in the list. */
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
-
-			GetWorkTimeStr(str, &len);
-			strcat(( char * ) pcWriteBuffer, "Время работы:\t\t\t");
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nМодель:\t\t\t\t");
-			GetModelStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nДата производства:\t\t");
-			GetProductionDataStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nВерсия ПО:\t\t\t");
-			GetVersionStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nMAC адрес:\t\t\t");
-			GetMacStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nСерийный номер:\t\t\t");
-			GetSerialNumberStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nНазвание устройства:\t\t");
-			GetNameDeviceStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nВладелец:\t\t\t");
-			GetOwnerStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nМестоположение:\t\t\t");
-			GetLocationStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nКомментарии:\t\t\t");
-			GetCommentsStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			page = 1;
-			xReturn = pdTRUE;
-		}
-		else{
-
-			strncat( ( char * ) pcWriteBuffer, ( const char * ) pcUPSInfoTableHeader, strlen( ( char * ) pcUPSInfoTableHeader ) );
-
-			strcat(( char * ) pcWriteBuffer, "\r\nКомпания:\t\t\tАО\"НПК РоТеК\"");
-
-			strcat(( char * ) pcWriteBuffer, "\r\nМодель:\t\t\t\t");
-			GetUPSModelStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nВерсия ПО:\t\t\t");
-			GetUPSVersionStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\n");
-
-			page = 0;
-			/* There are no more commands in the list, so there will be no more
-			strings to return after this one and pdFALSE should be returned. */
-			xReturn = pdFALSE;
-		}
-	}
-	else if(num_arg == 1)
-	{
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		xReturn = pdFALSE;
-	}
-	else{
-		/* Obtain the parameter string. */
-		pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																(
-																	pcCommandString,		/* The command string itself. */
-																	xParameterNumber,		/* Return the next parameter. */
-																	&xParameterStringLength	/* Store the parameter string length. */
-																);
-		for(i = 0; i < INFO_ALL_ARGS; i ++){
-			if( strncmp( ( const char * ) pcParameterString, info_args_list[i], strlen(info_args_list[i]) ) == 0 ){
-				break;
-			}
-		}
-		xParameterNumber ++;
-	//	xParameterNumber ++;
-		/* Obtain the parameter string. */
-		pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																(
-																	pcCommandString,		/* The command string itself. */
-																	xParameterNumber,		/* Return the next parameter. */
-																	&xParameterStringLength	/* Store the parameter string length. */
-																);
-		memset(str, 0, sizeof(str));
-		xParameterStringLength = strlen(( const char * ) pcParameterString);
-		if(xParameterStringLength > (int32_t)sizeof(str))
-			xParameterStringLength = sizeof(str) - 1;
-		strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-		if(control_string_en_digit(str, strlen(str))){
-			switch(i){
-			case INFO_DEV_NAME:
-				if(telnet_code_auth == ADMIN){
-					str[19] = 0;
-					SetNameDeviceStr(str);
-				}
-				else
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-				break;
-			case INFO_ADDRESS:
-				if(telnet_code_auth == ADMIN)
-				{
-					str[109] = 0;
-					SetLocation(str);
-				}
-				else
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-				break;
-			case INFO_OWNER:
-				if(telnet_code_auth == ADMIN){
-					str[49] = 0;
-					SetOwner(str);
-				}
-				else
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-				break;
-			case INFO_COMMENTS:
-				if(telnet_code_auth == ADMIN){
-					str[109] = 0;
-					SetComment(str);
-				}
-				else
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-				break;
-			default:
-				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);
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		xReturn = pdFALSE;
-	}
-
-	return xReturn;
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t len;
+    int8_t num_arg = 0;
+    uint8_t i;
+    static uint8_t page = 0;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    num_arg = prvGetNumberOfParameters(pcCommandString);
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    if (num_arg == 0) {
+        const int8_t *const pcInfoTableHeader = ( int8_t * )
+            "\r\n**************Информация о Контроллере**************\r\n";
+        const int8_t *const pcUPSInfoTableHeader = ( int8_t * )
+            "\r\n*****************Информация об ИБП******************\r\n";
+        if (!page) {
+            /* Return the next command help string, before moving the pointer on to
+            the next command in the list. */
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
+
+            GetWorkTimeStr(str, &len);
+            strcat(( char * ) pcWriteBuffer, "Время работы:\t\t\t");
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nМодель:\t\t\t\t");
+            GetModelStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nДата производства:\t\t");
+            GetProductionDataStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nВерсия ПО:\t\t\t");
+            GetVersionStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nMAC адрес:\t\t\t");
+            GetMacStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nСерийный номер:\t\t\t");
+            GetSerialNumberStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nНазвание устройства:\t\t");
+            GetNameDeviceStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nВладелец:\t\t\t");
+            GetOwnerStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nМестоположение:\t\t\t");
+            GetLocationStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nКомментарии:\t\t\t");
+            GetCommentsStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            page = 1;
+            xReturn = pdTRUE;
+        } else {
+
+            strncat( ( char * ) pcWriteBuffer, ( const char * ) pcUPSInfoTableHeader, strlen( ( char * ) pcUPSInfoTableHeader ) );
+
+            strcat(( char * ) pcWriteBuffer, "\r\nКомпания:\t\t\tАО\"НПК РоТеК\"");
+
+            strcat(( char * ) pcWriteBuffer, "\r\nМодель:\t\t\t\t");
+            GetUPSModelStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\nВерсия ПО:\t\t\t");
+            GetUPSVersionStr(str, &len);
+            strncat(( char * ) pcWriteBuffer, str, len);
+
+            strcat(( char * ) pcWriteBuffer, "\r\n");
+
+            page = 0;
+            /* There are no more commands in the list, so there will be no more
+            strings to return after this one and pdFALSE should be returned. */
+            xReturn = pdFALSE;
+        }
+    } else if (num_arg == 1) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        xReturn = pdFALSE;
+    } else {
+        /* Obtain the parameter string. */
+        pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+            (
+                pcCommandString,        /* The command string itself. */
+                xParameterNumber,       /* Return the next parameter. */
+                &xParameterStringLength /* Store the parameter string length. */
+            );
+        for (i = 0; i < INFO_ALL_ARGS; i ++) {
+            if ( strncmp( ( const char * ) pcParameterString, info_args_list[i], strlen(info_args_list[i]) ) == 0 ) {
+                break;
+            }
+        }
+        xParameterNumber ++;
+        //  xParameterNumber ++;
+        /* Obtain the parameter string. */
+        pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+            (
+                pcCommandString,        /* The command string itself. */
+                xParameterNumber,       /* Return the next parameter. */
+                &xParameterStringLength /* Store the parameter string length. */
+            );
+        memset(str, 0, sizeof(str));
+        xParameterStringLength = strlen(( const char * ) pcParameterString);
+        if (xParameterStringLength > (int32_t)sizeof(str)) {
+            xParameterStringLength = sizeof(str) - 1;
+        }
+        strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+        if (control_string_en_digit(str, strlen(str))) {
+            switch (i) {
+                case INFO_DEV_NAME:
+                    if (telnet_code_auth == ADMIN) {
+                        str[19] = 0;
+                        SetNameDeviceStr(str);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+                    }
+                    break;
+                case INFO_ADDRESS:
+                    if (telnet_code_auth == ADMIN) {
+                        str[109] = 0;
+                        SetLocation(str);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+                    }
+                    break;
+                case INFO_OWNER:
+                    if (telnet_code_auth == ADMIN) {
+                        str[49] = 0;
+                        SetOwner(str);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+                    }
+                    break;
+                case INFO_COMMENTS:
+                    if (telnet_code_auth == ADMIN) {
+                        str[109] = 0;
+                        SetComment(str);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+                    }
+                    break;
+                default:
+                    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);
+            }
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        xReturn = pdFALSE;
+    }
+
+    return xReturn;
 }
 
-static portBASE_TYPE prvTaskRebootCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-
-	static bool start_reboot = true;
-	const int8_t *const pcRebootHeader = ( int8_t * ) "Контроллер будет перезагружен через 1 секунду\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-
-	if(telnet_code_auth != ADMIN){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
+static portBASE_TYPE prvTaskRebootCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
 
-	if(start_reboot){
-		start_reboot = false;
-		strcpy( ( char * ) pcWriteBuffer, ( char * ) pcRebootHeader );
-		return pdTRUE;
-	}
-	else{
-		telnet_act = true;
-		Reboot();
-		return pdFALSE;
-	}
+    static bool start_reboot = true;
+    const int8_t *const pcRebootHeader = ( int8_t * )
+        "Контроллер будет перезагружен через 1 секунду\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+
+    if (telnet_code_auth != ADMIN) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    if (start_reboot) {
+        start_reboot = false;
+        strcpy( ( char * ) pcWriteBuffer, ( char * ) pcRebootHeader );
+        return pdTRUE;
+    } else {
+        telnet_act = true;
+        Reboot();
+        return pdFALSE;
+    }
 }
 
-static portBASE_TYPE prvTaskSystimeCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t len;
-	uint8_t i;
-	uint8_t fail = 0;
-	uint16_t temp = 0;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		const int8_t * const pcInfoTableHeader = ( int8_t * ) "\r\n******Системное время Контроллера******\r\n";
-		/* Return the next command help string, before moving the pointer on to
-		the next command in the list. */
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
-
-		GetDateStr(str, &len);
-		strcat(( char * ) pcWriteBuffer, "Дата:\t\t\t");
-		strncat(( char * ) pcWriteBuffer, str, len);
-
-		strcat(( char * ) pcWriteBuffer, "\r\nВремя:\t\t\t");
-		GetTimeStr(str, &len);
-		strncat(( char * ) pcWriteBuffer, str, len);
-
-		strcat(( char * ) pcWriteBuffer, "\r\n");
-
-		/* There are no more commands in the list, so there will be no more
-		strings to return after this one and pdFALSE should be returned. */
-		xReturn = pdFALSE;
-	}
-	else{
-		if(telnet_code_auth != ADMIN){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-			return pdFALSE;
-		}
-		for(i = 0; i < ARG_SYSTIME_ALL; i ++){
-			if( strncmp( ( const char * ) pcParameterString, systime_args_list[i], strlen(systime_args_list[i]) ) == 0 ){
-				break;
-			}
-		}
-		if(i != ARG_SYSTIME_ALL){
-			if(sSettings.sSNTP.sntpEnable){
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcSystymeDenied, strlen( ( char * ) pcSystymeDenied ) );
-				return pdFALSE;
-			}
-		}
-
-		xParameterNumber ++;
-		/* Obtain the parameter string. */
-		pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																(
-																	pcCommandString,		/* The command string itself. */
-																	xParameterNumber,		/* Return the next parameter. */
-																	&xParameterStringLength	/* Store the parameter string length. */
-																);
-		if(pcParameterString == NULL){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			return pdFALSE;
-		}
-		memset(str, 0, sizeof(str));
-		xParameterStringLength = strlen(( const char * ) pcParameterString);
-		if(xParameterStringLength > (int32_t)sizeof(str))
-			xParameterStringLength = sizeof(str) - 1;
-		strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-		switch(i){
-		case ARG_SYSTIME_DATA:
-			if(xParameterStringLength == 10){
-			  for(uint8_t j = 0; j < xParameterStringLength; j++)
-			  {
-				  if(j != 4 && j != 7)
-				  {
-					  if(str[j] > 0x39 || str[j] < 0x30){
-						  fail = 1;
-					  }
-				  }
-				  else if(j == 4 || j == 7){
-					  if(str[j] != '-')
-						  fail = 1;
-				  }
-			  }
-			  if(!fail)
-			  {
-				  temp = 1000*(str[0] - 0x30) + 100*(str[1] - 0x30) + 10*(str[2] - 0x30) + str[3] - 0x30;
-				  if(temp > 2099 || temp < 2000)
-					  fail = 1;
-				  temp = 0;
-				  temp = 10*(str[5] - 0x30) + (str[6] - 0x30);
-				  if(temp > 12)
-					  fail = 1;
-				  temp = 0;
-				  temp = 10*(str[8] - 0x30) + (str[9] - 0x30);
-				  if(temp > 31)
-					  fail = 1;
-			  }
-			}
-			else{
-				fail = 1;
-			}
-			if(!fail){
-				SetDateStr(str);
-				SETTINGS_Save();
-				log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-			}
-			else
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		case ARG_SYSTIME_TIME:
-			if(xParameterStringLength == 5){
-			  for(uint8_t j = 0; j < xParameterStringLength; j++)
-			  {
-				  if(j != 2)
-				  {
-					  if(str[j] > 0x39 || str[j] < 0x30)
-						  fail = 1;
-				  }
-				  else if(j == 2){
-					  if(str[j]  != ':')
-						  fail = 1;
-				  }
-			  }
-			  if(!fail)
-			  {
-				  temp = 10*(str[0] - 0x30) + (str[1] - 0x30);
-				  if(temp > 23)
-					  fail = 1;
-				  temp = 0;
-				  temp = 10*(str[3] - 0x30) + (str[4] - 0x30);
-				  if(temp > 59)
-					  fail = 1;
-			  }
-			}
-			else{
-				fail = 1;
-			}
-			if(!fail){
-				SetTimeStr(str);
-				SETTINGS_Save();
-				log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-			}
-			else
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		xReturn = pdFALSE;
-	}
-
-	return xReturn;
+static portBASE_TYPE prvTaskSystimeCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t len;
+    uint8_t i;
+    uint8_t fail = 0;
+    uint16_t temp = 0;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        const int8_t *const pcInfoTableHeader = ( int8_t * )
+            "\r\n******Системное время Контроллера******\r\n";
+        /* Return the next command help string, before moving the pointer on to
+        the next command in the list. */
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
+
+        GetDateStr(str, &len);
+        strcat(( char * ) pcWriteBuffer, "Дата:\t\t\t");
+        strncat(( char * ) pcWriteBuffer, str, len);
+
+        strcat(( char * ) pcWriteBuffer, "\r\nВремя:\t\t\t");
+        GetTimeStr(str, &len);
+        strncat(( char * ) pcWriteBuffer, str, len);
+
+        strcat(( char * ) pcWriteBuffer, "\r\n");
+
+        /* There are no more commands in the list, so there will be no more
+        strings to return after this one and pdFALSE should be returned. */
+        xReturn = pdFALSE;
+    } else {
+        if (telnet_code_auth != ADMIN) {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+            return pdFALSE;
+        }
+        for (i = 0; i < ARG_SYSTIME_ALL; i ++) {
+            if ( strncmp( ( const char * ) pcParameterString, systime_args_list[i], strlen(systime_args_list[i]) ) == 0 ) {
+                break;
+            }
+        }
+        if (i != ARG_SYSTIME_ALL) {
+            if (sSettings.sSNTP.sntpEnable) {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcSystymeDenied, strlen( ( char * ) pcSystymeDenied ) );
+                return pdFALSE;
+            }
+        }
+
+        xParameterNumber ++;
+        /* Obtain the parameter string. */
+        pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+            (
+                pcCommandString,        /* The command string itself. */
+                xParameterNumber,       /* Return the next parameter. */
+                &xParameterStringLength /* Store the parameter string length. */
+            );
+        if (pcParameterString == NULL) {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            return pdFALSE;
+        }
+        memset(str, 0, sizeof(str));
+        xParameterStringLength = strlen(( const char * ) pcParameterString);
+        if (xParameterStringLength > (int32_t)sizeof(str)) {
+            xParameterStringLength = sizeof(str) - 1;
+        }
+        strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+        switch (i) {
+            case ARG_SYSTIME_DATA:
+                if (xParameterStringLength == 10) {
+                    for (uint8_t j = 0; j < xParameterStringLength; j++) {
+                        if (j != 4 && j != 7) {
+                            if (str[j] > 0x39 || str[j] < 0x30) {
+                                fail = 1;
+                            }
+                        } else if (j == 4 || j == 7) {
+                            if (str[j] != '-') {
+                                fail = 1;
+                            }
+                        }
+                    }
+                    if (!fail) {
+                        temp = 1000 * (str[0] - 0x30) + 100 * (str[1] - 0x30) + 10 * (str[2] - 0x30) + str[3] - 0x30;
+                        if (temp > 2099 || temp < 2000) {
+                            fail = 1;
+                        }
+                        temp = 0;
+                        temp = 10 * (str[5] - 0x30) + (str[6] - 0x30);
+                        if (temp > 12) {
+                            fail = 1;
+                        }
+                        temp = 0;
+                        temp = 10 * (str[8] - 0x30) + (str[9] - 0x30);
+                        if (temp > 31) {
+                            fail = 1;
+                        }
+                    }
+                } else {
+                    fail = 1;
+                }
+                if (!fail) {
+                    SetDateStr(str);
+                    SETTINGS_Save();
+                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+                break;
+            case ARG_SYSTIME_TIME:
+                if (xParameterStringLength == 5) {
+                    for (uint8_t j = 0; j < xParameterStringLength; j++) {
+                        if (j != 2) {
+                            if (str[j] > 0x39 || str[j] < 0x30) {
+                                fail = 1;
+                            }
+                        } else if (j == 2) {
+                            if (str[j]  != ':') {
+                                fail = 1;
+                            }
+                        }
+                    }
+                    if (!fail) {
+                        temp = 10 * (str[0] - 0x30) + (str[1] - 0x30);
+                        if (temp > 23) {
+                            fail = 1;
+                        }
+                        temp = 0;
+                        temp = 10 * (str[3] - 0x30) + (str[4] - 0x30);
+                        if (temp > 59) {
+                            fail = 1;
+                        }
+                    }
+                } else {
+                    fail = 1;
+                }
+                if (!fail) {
+                    SetTimeStr(str);
+                    SETTINGS_Save();
+                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+                break;
+            default:
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                break;
+        }
+        xReturn = pdFALSE;
+    }
+
+    return xReturn;
 }
 
 /*
  * Implements the ntp command.
  */
-static portBASE_TYPE prvTaskNTPCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	char str_temp[110];
-	uint8_t len;
-	uint8_t i;
-	bool enable_old_sntp;
-
-	const int8_t * const pcInfoTableHeader = ( int8_t * ) "\r\n************NTP настройки Контроллера************\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_NTP_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, ntp_args_list[i], strlen(ntp_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	if(telnet_code_auth != ADMIN && i !=ARG_NTP_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	xParameterNumber ++;
-	if(pcParameterString == NULL){
-		switch(i){
-		case ARG_NTP_ENABLE:
-			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);
-				SNTP_Init();
-				//vTaskDelay(7000);
-				SNTP_Poll();
-			}
-			break;
-		case ARG_NTP_DISABLE:
-			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);
-				SNTP_Init();
-				//vTaskDelay(7000);
-				SNTP_Poll();
-			}
-			break;
-		case ARG_NTP_INFO:
-			/* Return the next command help string, before moving the pointer on to
-			the next command in the list. */
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
-
-			GetSntpStateStrRU(str, &len);
-			strcat(( char * ) pcWriteBuffer, "Режим установки времени:\t");
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nIP адрес NTP сервера:\t\t");
-			GetSntpServerIpStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nЧасовой пояс:\t\t\t");
-			GetSntpTimeZoneStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\nПоследняя дата синхронизации:\t");
-			GetSntpLastDataStr(str, &len);
-			strncat(( char * ) pcWriteBuffer, str, len);
-
-			strcat(( char * ) pcWriteBuffer, "\r\n");
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		return pdFALSE;
-	}
-
-	if(i == ARG_NTP_SET){
-		memset(str, 0, sizeof(str));
-		if(xParameterStringLength > (int32_t)sizeof(str))
-			xParameterStringLength = sizeof(str) - 1;
-		strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-		pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																(
-																	pcCommandString,		/* The command string itself. */
-																	xParameterNumber,		/* Return the next parameter. */
-																	&xParameterStringLength	/* Store the parameter string length. */
-																);
-		if(pcParameterString != NULL){
-			memset(str_temp, 0, sizeof(str_temp));
-			if(xParameterStringLength > (int32_t)sizeof(str_temp))
-				xParameterStringLength = sizeof(str_temp) - 1;
-			strncat(str_temp, ( const char * ) pcParameterString, xParameterStringLength);
-			if(strncmp(str, "IP", 2) == 0){
-				if(xParameterStringLength <= 15){
-					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);
-							SNTP_Init();
-							//vTaskDelay(7000);
-							SNTP_Poll();
-						}
-					}
-					else{
-						strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					}
-				}
-				else{
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				}
-			}
-			else if(strncmp(str, "gmt", 3) == 0){
-				if(xParameterStringLength > 1 && xParameterStringLength < 5){
-					bool fail = false;
-					if(str_temp[0] != '-' && str_temp[0] != '+')
-						fail = true;
-					if(!isdigit_int(str_temp[1]) && (!isdigit_int(str_temp[2]) && str_temp[2] != '.') && (!isdigit_int(str_temp[3]) && str_temp[3] != '.'))
-						fail = true;
-					if(xParameterStringLength == 5){
-						if(!isdigit_int(str_temp[4]))
-							fail = true;
-					}
-					if(!fail){
-						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);
-						}
-						else
-							strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					}
-					else{
-						strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					}
-				}
-				else{
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				}
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-	}
-	else{
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-	}
-	xReturn = pdFALSE;
-
-	return xReturn;
+static portBASE_TYPE prvTaskNTPCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    char str_temp[110];
+    uint8_t len;
+    uint8_t i;
+    bool enable_old_sntp;
+
+    const int8_t *const pcInfoTableHeader = ( int8_t * )
+        "\r\n************NTP настройки Контроллера************\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_NTP_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, ntp_args_list[i], strlen(ntp_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    if (telnet_code_auth != ADMIN && i != ARG_NTP_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    xParameterNumber ++;
+    if (pcParameterString == NULL) {
+        switch (i) {
+            case ARG_NTP_ENABLE:
+                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);
+                    SNTP_Init();
+                    //vTaskDelay(7000);
+                    SNTP_Poll();
+                }
+                break;
+            case ARG_NTP_DISABLE:
+                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);
+                    SNTP_Init();
+                    //vTaskDelay(7000);
+                    SNTP_Poll();
+                }
+                break;
+            case ARG_NTP_INFO:
+                /* Return the next command help string, before moving the pointer on to
+                the next command in the list. */
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
+
+                GetSntpStateStrRU(str, &len);
+                strcat(( char * ) pcWriteBuffer, "Режим установки времени:\t");
+                strncat(( char * ) pcWriteBuffer, str, len);
+
+                strcat(( char * ) pcWriteBuffer, "\r\nIP адрес NTP сервера:\t\t");
+                GetSntpServerIpStr(str, &len);
+                strncat(( char * ) pcWriteBuffer, str, len);
+
+                strcat(( char * ) pcWriteBuffer, "\r\nЧасовой пояс:\t\t\t");
+                GetSntpTimeZoneStr(str, &len);
+                strncat(( char * ) pcWriteBuffer, str, len);
+
+                strcat(( char * ) pcWriteBuffer, "\r\nПоследняя дата синхронизации:\t");
+                GetSntpLastDataStr(str, &len);
+                strncat(( char * ) pcWriteBuffer, str, len);
+
+                strcat(( char * ) pcWriteBuffer, "\r\n");
+                break;
+            default:
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                break;
+        }
+        return pdFALSE;
+    }
+
+    if (i == ARG_NTP_SET) {
+        memset(str, 0, sizeof(str));
+        if (xParameterStringLength > (int32_t)sizeof(str)) {
+            xParameterStringLength = sizeof(str) - 1;
+        }
+        strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+        pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+            (
+                pcCommandString,        /* The command string itself. */
+                xParameterNumber,       /* Return the next parameter. */
+                &xParameterStringLength /* Store the parameter string length. */
+            );
+        if (pcParameterString != NULL) {
+            memset(str_temp, 0, sizeof(str_temp));
+            if (xParameterStringLength > (int32_t)sizeof(str_temp)) {
+                xParameterStringLength = sizeof(str_temp) - 1;
+            }
+            strncat(str_temp, ( const char * ) pcParameterString, xParameterStringLength);
+            if (strncmp(str, "IP", 2) == 0) {
+                if (xParameterStringLength <= 15) {
+                    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);
+                            SNTP_Init();
+                            //vTaskDelay(7000);
+                            SNTP_Poll();
+                        }
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else if (strncmp(str, "gmt", 3) == 0) {
+                if (xParameterStringLength > 1 && xParameterStringLength < 5) {
+                    bool fail = false;
+                    if (str_temp[0] != '-' && str_temp[0] != '+') {
+                        fail = true;
+                    }
+                    if (!isdigit_int(str_temp[1]) && (!isdigit_int(str_temp[2]) && str_temp[2] != '.') && (!isdigit_int(str_temp[3]) &&
+                            str_temp[3] != '.')) {
+                        fail = true;
+                    }
+                    if (xParameterStringLength == 5) {
+                        if (!isdigit_int(str_temp[4])) {
+                            fail = true;
+                        }
+                    }
+                    if (!fail) {
+                        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);
+                        } else {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                        }
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+    } else {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+    }
+    xReturn = pdFALSE;
+
+    return xReturn;
 }
 
 /*
  * Implements the network command.
  */
-static portBASE_TYPE prvTaskNetworkCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t i;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_NETWORK_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, network_args_list[i], strlen(network_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-	if(telnet_code_auth != ADMIN && i !=ARG_NETWORK_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-	if(i != ARG_NETWORK_ALL && i != ARG_NETWORK_DHCP && i != ARG_NETWORK_INFO){
-		if(sSettings.sWebTempParams.dhcpEnable){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-			return pdFALSE;
-		}
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		if(i == ARG_NETWORK_INFO){
-			net_config_param(pcWriteBuffer);
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		return pdFALSE;
-	}
-	memset(str, 0, sizeof(str));
-	xParameterStringLength = strlen(( const char * ) pcParameterString);
-	if(xParameterStringLength > (int32_t)sizeof(str))
-		xParameterStringLength = sizeof(str) - 1;
-	strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-	switch(i){
-	case ARG_NETWORK_DHCP:
-		if(strncmp(str, "ENA", 3) == 0){
-			SetUDPDhcpStateStr("True");
-			strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-		}
-		else if(strncmp(str, "DIS", 3) == 0){
-			SetUDPDhcpStateStr("False");
-			strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-		}
-		else
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	case ARG_NETWORK_IP:
-		if(xParameterStringLength <= 15){
-			if(ipaddr_addr(str) != IPADDR_NONE){
-				SetIPStr(str);
-				strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-			}
-			else
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	case ARG_NETWORK_GW:
-		if(xParameterStringLength <= 15){
-			if(ipaddr_addr(str) != IPADDR_NONE){
-				SetGatewayStr(str);
-				strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-			}
-			else
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	case ARG_NETWORK_MASK:
-		if(xParameterStringLength <= 15){
-			if(ipaddr_addr(str) != IPADDR_NONE){
-				SetMaskStr(str);
-				strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-			}
-			else
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+static portBASE_TYPE prvTaskNetworkCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t i;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_NETWORK_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, network_args_list[i], strlen(network_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+    if (telnet_code_auth != ADMIN && i != ARG_NETWORK_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+    if (i != ARG_NETWORK_ALL && i != ARG_NETWORK_DHCP && i != ARG_NETWORK_INFO) {
+        if (sSettings.sWebTempParams.dhcpEnable) {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+            return pdFALSE;
+        }
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        if (i == ARG_NETWORK_INFO) {
+            net_config_param(pcWriteBuffer);
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        return pdFALSE;
+    }
+    memset(str, 0, sizeof(str));
+    xParameterStringLength = strlen(( const char * ) pcParameterString);
+    if (xParameterStringLength > (int32_t)sizeof(str)) {
+        xParameterStringLength = sizeof(str) - 1;
+    }
+    strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+    switch (i) {
+        case ARG_NETWORK_DHCP:
+            if (strncmp(str, "ENA", 3) == 0) {
+                SetUDPDhcpStateStr("True");
+                strcpy( ( char * ) pcWriteBuffer,
+                    "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+            } else if (strncmp(str, "DIS", 3) == 0) {
+                SetUDPDhcpStateStr("False");
+                strcpy( ( char * ) pcWriteBuffer,
+                    "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        case ARG_NETWORK_IP:
+            if (xParameterStringLength <= 15) {
+                if (ipaddr_addr(str) != IPADDR_NONE) {
+                    SetIPStr(str);
+                    strcpy( ( char * ) pcWriteBuffer,
+                        "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        case ARG_NETWORK_GW:
+            if (xParameterStringLength <= 15) {
+                if (ipaddr_addr(str) != IPADDR_NONE) {
+                    SetGatewayStr(str);
+                    strcpy( ( char * ) pcWriteBuffer,
+                        "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        case ARG_NETWORK_MASK:
+            if (xParameterStringLength <= 15) {
+                if (ipaddr_addr(str) != IPADDR_NONE) {
+                    SetMaskStr(str);
+                    strcpy( ( char * ) pcWriteBuffer,
+                        "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
+
+    return xReturn;
 }
 
 /*
  * Implements the snmp command.
  */
-static portBASE_TYPE prvTaskSNMPCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[20];
-	char temp_str[20];
-	uint8_t i;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_SNMP_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, snmp_args_list[i], strlen(snmp_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	if(telnet_code_auth != ADMIN && i !=ARG_SNMP_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	xParameterNumber ++;
-	if(pcParameterString == NULL){
-		if(i == ARG_SNMP_INFO){
-			snmp_config_param(pcWriteBuffer);
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		return pdFALSE;
-	}
-	memset(str, 0, sizeof(str));
-	if(xParameterStringLength > (int32_t)sizeof(str))
-		xParameterStringLength = sizeof(str) - 1;
-	strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-	switch(i){
-	case ARG_SNMP_SERVER:
-		if(xParameterStringLength == 1 && isdigit_int(str[0])){
-			int32_t temp = atoi(str);
-			if(temp > 0 && temp < 6){
-				pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																		(
-																			pcCommandString,		/* The command string itself. */
-																			xParameterNumber,		/* Return the next parameter. */
-																			&xParameterStringLength	/* Store the parameter string length. */
-																		);
-				if(pcParameterString != NULL){
-					memset(str, 0, sizeof(str));
-					xParameterStringLength = strlen(( const char * ) pcParameterString);
-					if(xParameterStringLength > (int32_t)sizeof(str))
-						xParameterStringLength = sizeof(str) - 1;
-					strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-					if(xParameterStringLength <= 15){
-						if(ipaddr_addr(str) != IPADDR_NONE){
-							switch(temp){
-							case 1:
-								SetManagerIp(str);
-								break;
-							case 2:
-								SetManagerIp2(str);
-								break;
-							case 3:
-								SetManagerIp3(str);
-								break;
-							case 4:
-								SetManagerIp4(str);
-								break;
-							case 5:
-								SetManagerIp5(str);
-								break;
-							}
-							if(temp > 0 && temp < 6){
-								SETTINGS_Save();
-								log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-							}
-						}
-						else{
-							strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-						}
-					}
-					else{
-						strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					}
-				}
-				else{
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				}
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	case ARG_SNMP_COMMUNITY:
-		pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																(
-																	pcCommandString,		/* The command string itself. */
-																	xParameterNumber,		/* Return the next parameter. */
-																	&xParameterStringLength	/* Store the parameter string length. */
-																);
-		if(pcParameterString != NULL){
-			memset(temp_str, 0, sizeof(temp_str));
-			xParameterStringLength = strlen(( const char * ) pcParameterString);
-			if(xParameterStringLength > (int32_t)sizeof(temp_str))
-			xParameterStringLength = sizeof(temp_str) - 1;
-			strncat(temp_str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-			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);
-				}
-				else if(strncmp(str, "write", 5) == 0){
-					SetWriteCommunity(temp_str);
-					SETTINGS_Save();
-					log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-				}
-				else
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+static portBASE_TYPE prvTaskSNMPCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[20];
+    char temp_str[20];
+    uint8_t i;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_SNMP_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, snmp_args_list[i], strlen(snmp_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    if (telnet_code_auth != ADMIN && i != ARG_SNMP_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    xParameterNumber ++;
+    if (pcParameterString == NULL) {
+        if (i == ARG_SNMP_INFO) {
+            snmp_config_param(pcWriteBuffer);
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        return pdFALSE;
+    }
+    memset(str, 0, sizeof(str));
+    if (xParameterStringLength > (int32_t)sizeof(str)) {
+        xParameterStringLength = sizeof(str) - 1;
+    }
+    strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+    switch (i) {
+        case ARG_SNMP_SERVER:
+            if (xParameterStringLength == 1 && isdigit_int(str[0])) {
+                int32_t temp = atoi(str);
+                if (temp > 0 && temp < 6) {
+                    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+                        (
+                            pcCommandString,        /* The command string itself. */
+                            xParameterNumber,       /* Return the next parameter. */
+                            &xParameterStringLength /* Store the parameter string length. */
+                        );
+                    if (pcParameterString != NULL) {
+                        memset(str, 0, sizeof(str));
+                        xParameterStringLength = strlen(( const char * ) pcParameterString);
+                        if (xParameterStringLength > (int32_t)sizeof(str)) {
+                            xParameterStringLength = sizeof(str) - 1;
+                        }
+                        strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+                        if (xParameterStringLength <= 15) {
+                            if (ipaddr_addr(str) != IPADDR_NONE) {
+                                switch (temp) {
+                                    case 1:
+                                        SetManagerIp(str);
+                                        break;
+                                    case 2:
+                                        SetManagerIp2(str);
+                                        break;
+                                    case 3:
+                                        SetManagerIp3(str);
+                                        break;
+                                    case 4:
+                                        SetManagerIp4(str);
+                                        break;
+                                    case 5:
+                                        SetManagerIp5(str);
+                                        break;
+                                }
+                                if (temp > 0 && temp < 6) {
+                                    SETTINGS_Save();
+                                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                                }
+                            } else {
+                                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            }
+                        } else {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                        }
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        case ARG_SNMP_COMMUNITY:
+            pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+                (
+                    pcCommandString,        /* The command string itself. */
+                    xParameterNumber,       /* Return the next parameter. */
+                    &xParameterStringLength /* Store the parameter string length. */
+                );
+            if (pcParameterString != NULL) {
+                memset(temp_str, 0, sizeof(temp_str));
+                xParameterStringLength = strlen(( const char * ) pcParameterString);
+                if (xParameterStringLength > (int32_t)sizeof(temp_str)) {
+                    xParameterStringLength = sizeof(temp_str) - 1;
+                }
+                strncat(temp_str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+                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);
+                    } else if (strncmp(str, "write", 5) == 0) {
+                        SetWriteCommunity(temp_str);
+                        SETTINGS_Save();
+                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
+
+
+    return xReturn;
 }
 
 /*
  * Implements the akb command.
  */
-static portBASE_TYPE prvTaskAKBCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t i;
-	float value = 0;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_AKB_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, akb_args_list[i], strlen(akb_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-	if(telnet_code_auth != ADMIN && i !=ARG_AKB_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		if(i == ARG_AKB_INFO){
-			akb_config_param(pcWriteBuffer);
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		return pdFALSE;
-	}
-	memset(str, 0, sizeof(str));
-	xParameterStringLength = strlen(( const char * ) pcParameterString);
-	if(xParameterStringLength > (int32_t)sizeof(str))
-		xParameterStringLength = sizeof(str) - 2;
-	strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-	for(uint8_t j = 0; j < xParameterStringLength; j ++){
-		if(!isfloatdigit(str[j])){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			return pdFALSE;
-		}
-	}
-	value = atof(str);
-
-	switch(i){
-	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);
-		}
-		else
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	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);
-		}
-		else
-		{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+static portBASE_TYPE prvTaskAKBCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t i;
+	uint8_t fail = 0;
+	uint16_t temp = 0;
+    float value = 0;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_AKB_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, akb_args_list[i], strlen(akb_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+    if (telnet_code_auth != ADMIN && i != ARG_AKB_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        if (i == ARG_AKB_INFO) {
+            akb_config_param(pcWriteBuffer);
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        return pdFALSE;
+    }
+    memset(str, 0, sizeof(str));
+    xParameterStringLength = strlen(( const char * ) pcParameterString);
+    if (xParameterStringLength > (int32_t)sizeof(str)) {
+        xParameterStringLength = sizeof(str) - 2;
+    }
+    strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+#ifdef HARDWARE_BT6709
+	if (i != ARG_AKB_DATASET)
+#endif
+	{
+		for (uint8_t j = 0; j < xParameterStringLength; j ++) {
+			if (!isfloatdigit(str[j])) {
+				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+				return pdFALSE;
+			}
 		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
+		value = atof(str);
+	}
+
+    switch (i) {
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+#ifdef HARDWARE_BT6709
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+		case ARG_AKB_DATASET:
+                if (xParameterStringLength == 10) {
+                    for (uint8_t j = 0; j < xParameterStringLength; j++) {
+                        if (j != 4 && j != 7) {
+                            if (str[j] > 0x39 || str[j] < 0x30) {
+                                fail = 1;
+                            }
+                        } else if (j == 4 || j == 7) {
+                            if (str[j] != '-') {
+                                fail = 1;
+                            }
+                        }
+                    }
+                    if (!fail) {
+                        temp = 1000 * (str[0] - 0x30) + 100 * (str[1] - 0x30) + 10 * (str[2] - 0x30) + str[3] - 0x30;
+                        if (temp > 2099 || temp < 2000) {
+                            fail = 1;
+                        }
+                        temp = 0;
+                        temp = 10 * (str[5] - 0x30) + (str[6] - 0x30);
+                        if (temp > 12) {
+                            fail = 1;
+                        }
+                        temp = 0;
+                        temp = 10 * (str[8] - 0x30) + (str[9] - 0x30);
+                        if (temp > 31) {
+                            fail = 1;
+                        }
+                    }
+                } else {
+                    fail = 1;
+                }
+                if (!fail) {
+                    SetDataSetAKBStr(str);
+                    SETTINGS_Save();
+                    log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+			break;
+        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);
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+#endif
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
 
 
-	return xReturn;
+    return xReturn;
 }
 
 /*
  * Implements the alarm command.
  */
-static portBASE_TYPE prvTaskAlarmCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t i, j;
-	float value = 0;
-	uint8_t k;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_ALARM_TYPE_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, type_alarm_args_list[i], strlen(type_alarm_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-	if(telnet_code_auth != ADMIN && i != ARG_ALARM_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		if(i == ARG_ALARM_INFO){
-			alarm_config_param(pcWriteBuffer);
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		return pdFALSE;
-	}
-
-	for(j = 0; j < ARG_ALARM_ALL; j ++){
-		if( strncmp( ( const char * ) pcParameterString, alarm_args_list[j], strlen(alarm_args_list[j]) ) == 0 ){
-			break;
-		}
-	}
-
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	memset(str, 0, sizeof(str));
-	xParameterStringLength = strlen(( const char * ) pcParameterString);
-	if(xParameterStringLength > (int32_t)sizeof(str))
-		xParameterStringLength = sizeof(str) - 2;
-	strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-	switch(i){
-	case ARG_ALARM_TEMP:
-		switch(j){
-		case ARG_ALARM_LINE_LOW:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					if(k == 0 && str[k] == '-'){
-						continue;
-					}
-					else{
-						strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-						return pdFALSE;
-					}
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		case ARG_ALARM_LINE_HIGH:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		case ARG_ALARM_LINE_HIST:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isfloatdigit(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		break;
-	case ARG_ALARM_LOAD:
-		switch(j){
-		case ARG_ALARM_LINE_LOW:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		case ARG_ALARM_LINE_HIGH:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		case ARG_ALARM_LINE_HIST:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isfloatdigit(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		break;
-	case ARG_ALARM_VOUT:
-		switch(j){
-		case ARG_ALARM_LINE_LOW:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		case ARG_ALARM_LINE_HIGH:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		case ARG_ALARM_LINE_HIST:
-			for(k = 0; k < xParameterStringLength; k ++){
-				if(!isdigit_int(str[k])){
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					return pdFALSE;
-				}
-			}
-			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);
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+static portBASE_TYPE prvTaskAlarmCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t i, j;
+    float value = 0;
+    uint8_t k;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_ALARM_TYPE_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, type_alarm_args_list[i], strlen(type_alarm_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+    if (telnet_code_auth != ADMIN && i != ARG_ALARM_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        if (i == ARG_ALARM_INFO) {
+            alarm_config_param(pcWriteBuffer);
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        return pdFALSE;
+    }
+
+    for (j = 0; j < ARG_ALARM_ALL; j ++) {
+        if ( strncmp( ( const char * ) pcParameterString, alarm_args_list[j], strlen(alarm_args_list[j]) ) == 0 ) {
+            break;
+        }
+    }
+
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    memset(str, 0, sizeof(str));
+    xParameterStringLength = strlen(( const char * ) pcParameterString);
+    if (xParameterStringLength > (int32_t)sizeof(str)) {
+        xParameterStringLength = sizeof(str) - 2;
+    }
+    strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+    switch (i) {
+        case ARG_ALARM_TEMP:
+            switch (j) {
+                case ARG_ALARM_LINE_LOW:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            if (k == 0 && str[k] == '-') {
+                                continue;
+                            } else {
+                                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                                return pdFALSE;
+                            }
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                case ARG_ALARM_LINE_HIGH:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                case ARG_ALARM_LINE_HIST:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isfloatdigit(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                default:
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    break;
+            }
+            break;
+        case ARG_ALARM_LOAD:
+            switch (j) {
+                case ARG_ALARM_LINE_LOW:
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    break;
+                case ARG_ALARM_LINE_HIGH:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                case ARG_ALARM_LINE_HIST:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isfloatdigit(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                default:
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    break;
+            }
+            break;
+        case ARG_ALARM_VOUT:
+            switch (j) {
+                case ARG_ALARM_LINE_LOW:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                case ARG_ALARM_LINE_HIGH:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                case ARG_ALARM_LINE_HIST:
+                    for (k = 0; k < xParameterStringLength; k ++) {
+                        if (!isdigit_int(str[k])) {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            return pdFALSE;
+                        }
+                    }
+                    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);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                default:
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    break;
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
+
+
+    return xReturn;
 }
 
 #ifdef HARDWARE_BT6709
 /*
  * Implements the whitelist command.
  */
-static portBASE_TYPE prvTaskWhiteListCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[20];
-	char temp_str[20];
-	uint8_t i;
-	char *beginValue;
-	uint8_t len;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_WHITELIST_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, whitelist_args_list[i], strlen(whitelist_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	if(telnet_code_auth != ADMIN && i !=ARG_WHITELIST_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	xParameterNumber ++;
-	if(pcParameterString == NULL){
-		if(i == ARG_WHITELIST_INFO){
-			whitelist_config_param(pcWriteBuffer);
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		return pdFALSE;
-	}
-	memset(str, 0, sizeof(str));
-	if(xParameterStringLength > (int32_t)sizeof(str))
-		xParameterStringLength = sizeof(str) - 1;
-	strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-	switch(i){
-	case ARG_WHITELIST_RANGE:
-		if(xParameterStringLength == 1 && isdigit_int(str[0])){
-			int32_t temp = atoi(str);
-			if(temp > 0 && temp < 6){
-				pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																		(
-																			pcCommandString,		/* The command string itself. */
-																			xParameterNumber,		/* Return the next parameter. */
-																			&xParameterStringLength	/* Store the parameter string length. */
-																		);
-				if(pcParameterString != NULL){
-					memset(str, 0, sizeof(str));
-					xParameterStringLength = strlen(( const char * ) pcParameterString);
-					if(xParameterStringLength > (int32_t)sizeof(str))
-						xParameterStringLength = sizeof(str) - 1;
-					strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-					if(xParameterStringLength <= 19){
-						beginValue = strpbrk(str,"/");
-						if(beginValue == NULL){
-							strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-							return pdFALSE;
-						}
-						len = beginValue - str;
-						memset(temp_str, 0, sizeof(temp_str));
-						strncpy(temp_str, str, len);
-						for(uint8_t j = (len + 1); j < xParameterStringLength; j++){
-							if(!isdigit_int(str[j])){
-								strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-								return pdFALSE;
-							}
-						}
-						if(ipaddr_addr(temp_str) != IPADDR_NONE){
-							SetWhiteListSTR(str, (temp - 1));
-							strcpy( ( char * ) pcWriteBuffer, "\t\tСохраните конфигурацию сетевых настроек\r\n" );
-						}
-						else{
-							strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-						}
-					}
-					else{
-						strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-					}
-				}
-				else{
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				}
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+static portBASE_TYPE prvTaskWhiteListCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[20];
+    char temp_str[20];
+    uint8_t i;
+    char *beginValue;
+    uint8_t len;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_WHITELIST_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, whitelist_args_list[i], strlen(whitelist_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    if (telnet_code_auth != ADMIN && i != ARG_WHITELIST_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    xParameterNumber ++;
+    if (pcParameterString == NULL) {
+        if (i == ARG_WHITELIST_INFO) {
+            whitelist_config_param(pcWriteBuffer);
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+        return pdFALSE;
+    }
+    memset(str, 0, sizeof(str));
+    if (xParameterStringLength > (int32_t)sizeof(str)) {
+        xParameterStringLength = sizeof(str) - 1;
+    }
+    strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+    switch (i) {
+        case ARG_WHITELIST_RANGE:
+            if (xParameterStringLength == 1 && isdigit_int(str[0])) {
+                int32_t temp = atoi(str);
+                if (temp > 0 && temp < 6) {
+                    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+                        (
+                            pcCommandString,        /* The command string itself. */
+                            xParameterNumber,       /* Return the next parameter. */
+                            &xParameterStringLength /* Store the parameter string length. */
+                        );
+                    if (pcParameterString != NULL) {
+                        memset(str, 0, sizeof(str));
+                        xParameterStringLength = strlen(( const char * ) pcParameterString);
+                        if (xParameterStringLength > (int32_t)sizeof(str)) {
+                            xParameterStringLength = sizeof(str) - 1;
+                        }
+                        strncat(str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+                        if (xParameterStringLength <= 19) {
+                            beginValue = strpbrk(str, "/");
+                            if (beginValue == NULL) {
+                                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                                return pdFALSE;
+                            }
+                            len = beginValue - str;
+                            memset(temp_str, 0, sizeof(temp_str));
+                            strncpy(temp_str, str, len);
+                            for (uint8_t j = (len + 1); j < xParameterStringLength; j++) {
+                                if (!isdigit_int(str[j])) {
+                                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                                    return pdFALSE;
+                                }
+                            }
+                            if (ipaddr_addr(temp_str) != IPADDR_NONE) {
+                                SetWhiteListSTR(str, (temp - 1));
+                                strcpy( ( char * ) pcWriteBuffer,
+                                    "\t\tСохраните конфигурацию сетевых настроек\r\n" );
+                            } else {
+                                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                            }
+                        } else {
+                            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                        }
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                } else {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
+
+
+    return xReturn;
 }
 #endif
 
 /*
  * Implements the change password command.
  */
-static portBASE_TYPE prvTaskUserCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	uint8_t i;
-	char temp_str[MAX_WEB_LOGIN_LEN];
-	char WebLogin[MAX_WEB_LOGIN_LEN];
-	uint8_t valueLen, user_id;
-
-	const int8_t * const pcChangePWDHeader = ( int8_t * ) "\r\nВведите новый пароль:";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-
-	if(telnet_code_auth != ADMIN){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_USER_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, user_args_list[i], strlen(user_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(i == ARG_USER_PWD){
-		memset(temp_str, 0, sizeof(temp_str));
-		xParameterStringLength = strlen(( const char * ) pcParameterString);
-		if(xParameterStringLength > (int32_t)sizeof(temp_str)){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		else{
-			strncat(temp_str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
-			for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
-
-				GetUserLogin(user_id, WebLogin, &valueLen);
-
-				/* Check login and password */
-				if (strncmp(WebLogin, temp_str, MAX_WEB_LOGIN_LEN) == 0) {
-
-					/* Login and pass are valid */
-					id_change_pwd = user_id;
-					strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcChangePWDHeader, strlen( ( char * ) pcChangePWDHeader ) );
-					telnetState = TELNET_CHANGE_PWD;
-					break;
-				}
-			}
-			if(telnetState != TELNET_CHANGE_PWD){
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-	}
-	else{
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-	}
-
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+static portBASE_TYPE prvTaskUserCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    uint8_t i;
+    char temp_str[MAX_WEB_LOGIN_LEN];
+    char WebLogin[MAX_WEB_LOGIN_LEN];
+    uint8_t valueLen, user_id;
+
+    const int8_t *const pcChangePWDHeader = ( int8_t * ) "\r\nВведите новый пароль:";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+
+    if (telnet_code_auth != ADMIN) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_USER_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, user_args_list[i], strlen(user_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (i == ARG_USER_PWD) {
+        memset(temp_str, 0, sizeof(temp_str));
+        xParameterStringLength = strlen(( const char * ) pcParameterString);
+        if (xParameterStringLength > (int32_t)sizeof(temp_str)) {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        } else {
+            strncat(temp_str, ( const char * ) pcParameterString, strlen(( const char * ) pcParameterString));
+            for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
+
+                GetUserLogin(user_id, WebLogin, &valueLen);
+
+                /* Check login and password */
+                if (strncmp(WebLogin, temp_str, MAX_WEB_LOGIN_LEN) == 0) {
+
+                    /* Login and pass are valid */
+                    id_change_pwd = user_id;
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcChangePWDHeader, strlen( ( char * ) pcChangePWDHeader ) );
+                    telnetState = TELNET_CHANGE_PWD;
+                    break;
+                }
+            }
+            if (telnetState != TELNET_CHANGE_PWD) {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+        }
+    } else {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+    }
+
+    xReturn = pdFALSE;
+
+
+    return xReturn;
 }
 
 /*
  * Implements the config command.
  */
-static portBASE_TYPE prvTaskConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t i;
-	static uint8_t config_menu = 0;
-
-	const int8_t * const pcInfoTableHeader = ( int8_t * ) "\r\n*********Конфигурация Контроллера*********\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_CONFIG_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, config_args_list[i], strlen(config_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	if(telnet_code_auth != ADMIN && i !=ARG_CONFIG_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		switch(i){
-		case ARG_CONFIG_INFO:
-			switch(config_menu){
-			case PARAM_CONFIG_SNMP:
-				/* Return the next command help string, before moving the pointer on to
-				the next command in the list. */
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
-				snmp_config_param(pcWriteBuffer);
-				break;
+static portBASE_TYPE prvTaskConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t i;
+    static uint8_t config_menu = 0;
+
+    const int8_t *const pcInfoTableHeader = ( int8_t * )
+        "\r\n*********Конфигурация Контроллера*********\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_CONFIG_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, config_args_list[i], strlen(config_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    if (telnet_code_auth != ADMIN && i != ARG_CONFIG_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        switch (i) {
+            case ARG_CONFIG_INFO:
+                switch (config_menu) {
+                    case PARAM_CONFIG_SNMP:
+                        /* Return the next command help string, before moving the pointer on to
+                        the next command in the list. */
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
+                        snmp_config_param(pcWriteBuffer);
+                        break;
 #ifdef HARDWARE_BT6707
-			case PARAM_CONFIG_INOUTS:
-				inouts_config_param(pcWriteBuffer);
-				break;
+                    case PARAM_CONFIG_INOUTS:
+                        inouts_config_param(pcWriteBuffer);
+                        break;
 #endif
-			case PARAM_CONFIG_AKB:
-				akb_config_param(pcWriteBuffer);
-				break;
-			case PARAM_CONFIG_ALARM:
-				alarm_config_param(pcWriteBuffer);
-				break;
+                    case PARAM_CONFIG_AKB:
+                        akb_config_param(pcWriteBuffer);
+                        break;
+                    case PARAM_CONFIG_ALARM:
+                        alarm_config_param(pcWriteBuffer);
+                        break;
 #ifdef HARDWARE_BT6709
-			case PARAM_CONFIG_WHITELIST:
-				whitelist_config_param(pcWriteBuffer);
-				break;
+                    case PARAM_CONFIG_WHITELIST:
+                        whitelist_config_param(pcWriteBuffer);
+                        break;
 #endif
-			case PARAM_CONFIG_NET:
-				net_config_param(pcWriteBuffer);
-				break;
-			case PARAM_CONFIG_TIME:
-				time_config_param(pcWriteBuffer);
-				break;
-			}
-
-			config_menu ++;
-			if(config_menu == PARAM_CONFIG_ALL){
-				config_menu = 0;
-				return pdFALSE;
-			}
-			else{
-				return pdTRUE;
-			}
-			break;
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			break;
-		}
-		return pdFALSE;
-	}
-	if(i == ARG_CONFIG_LOAD){
-		memset(str, 0, sizeof(str));
-		xParameterStringLength = strlen(( const char * ) pcParameterString);
-		if(xParameterStringLength > (int32_t)sizeof(str))
-			xParameterStringLength = sizeof(str) - 1;
-		strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-		if(xParameterStringLength < 13){
-			if(strncmp(str, "default", 7) == 0){
-				  SNMP_SendUserTrap(DEVICE_RESTORED);
-				  log_event_data(LOG_SYSTEM_DEFCONFIG, name_login_telnet);
-				  vTaskDelay(500);
-				  SETTINGS_SetPartDefault();
-				  SETTINGS_Save();
-				  log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tНастройки сброшены к настройкам по умолчанию!\r\n");
-			}
-			else{
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-	}
-	else{
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-	}
-
-	xReturn = pdFALSE;
-
-
-	return xReturn;
+                    case PARAM_CONFIG_NET:
+                        net_config_param(pcWriteBuffer);
+                        break;
+                    case PARAM_CONFIG_TIME:
+                        time_config_param(pcWriteBuffer);
+                        break;
+                }
+
+                config_menu ++;
+                if (config_menu == PARAM_CONFIG_ALL) {
+                    config_menu = 0;
+                    return pdFALSE;
+                } else {
+                    return pdTRUE;
+                }
+                break;
+            default:
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                break;
+        }
+        return pdFALSE;
+    }
+    if (i == ARG_CONFIG_LOAD) {
+        memset(str, 0, sizeof(str));
+        xParameterStringLength = strlen(( const char * ) pcParameterString);
+        if (xParameterStringLength > (int32_t)sizeof(str)) {
+            xParameterStringLength = sizeof(str) - 1;
+        }
+        strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+        if (xParameterStringLength < 13) {
+            if (strncmp(str, "default", 7) == 0) {
+                SNMP_SendUserTrap(DEVICE_RESTORED);
+                log_event_data(LOG_SYSTEM_DEFCONFIG, name_login_telnet);
+                vTaskDelay(500);
+                SETTINGS_SetPartDefault();
+                SETTINGS_Save();
+                log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                strcpy( ( char * ) pcWriteBuffer,
+                    "\t\tНастройки сброшены к настройкам по умолчанию!\r\n");
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+    } else {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+    }
+
+    xReturn = pdFALSE;
+
+
+    return xReturn;
 }
 
 /*
  * Implements the config command.
  */
-static portBASE_TYPE prvTaskNetConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	portBASE_TYPE xParameterNumber = 1;
-	signed portBASE_TYPE xParameterStringLength;
-	uint8_t i;
-	static start = 0;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-
-	for(i = 0; i < ARG_NETCONFIG_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, netconfig_args_list[i], strlen(netconfig_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	if(telnet_code_auth != ADMIN){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	switch(i){
-	case ARG_NETCONFIG_APPLY:
-		if(!start){
-		  /* Если параметры WEB изменились выставляем флаг, сохраняем настройки и перезагружаемся */
-		  if (GetStateWebReinit() == true)
-		  {
-			  start = 1;
-			  telnet_act = true;
-			SetWebReinitFlag(true);
-			HTTP_SaveSettings();
-			strcpy( ( char * ) pcWriteBuffer, "\t\tНастройки сохранены! Контроллер будет перезагружен\r\n\tПосле перезагрузки подтвердите изменения сетевых настроек\r\n");
-			return pdTRUE;
-
-		  }
-		}
-		else{
-		  telnet_act = true;
-			start = 0;
-			vTaskDelay(1010);
-			Reboot();
-		}
-		break;
-	case ARG_NETCONFIG_CONFIRM:
-		telnet_act = true;
-		SetWebReinitFlag(false);
-		SetConfirmWebParamsFlag();
-		strcpy( ( char * ) pcWriteBuffer, "\t\tСетевые настройки подтверждены!\r\n");
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-
-	return pdFALSE;
+static portBASE_TYPE prvTaskNetConfigCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    portBASE_TYPE xParameterNumber = 1;
+    signed portBASE_TYPE xParameterStringLength;
+    uint8_t i;
+    static start = 0;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+
+    for (i = 0; i < ARG_NETCONFIG_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, netconfig_args_list[i], strlen(netconfig_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    if (telnet_code_auth != ADMIN) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    switch (i) {
+        case ARG_NETCONFIG_APPLY:
+            if (!start) {
+                /* Если параметры WEB изменились выставляем флаг, сохраняем настройки и перезагружаемся */
+                if (GetStateWebReinit() == true) {
+                    start = 1;
+                    telnet_act = true;
+                    SetWebReinitFlag(true);
+                    HTTP_SaveSettings();
+                    strcpy( ( char * ) pcWriteBuffer,
+                        "\t\tНастройки сохранены! Контроллер будет перезагружен\r\n\tПосле перезагрузки подтвердите изменения сетевых настроек\r\n");
+                    return pdTRUE;
+
+                }
+            } else {
+                telnet_act = true;
+                start = 0;
+                vTaskDelay(1010);
+                Reboot();
+            }
+            break;
+        case ARG_NETCONFIG_CONFIRM:
+            telnet_act = true;
+            SetWebReinitFlag(false);
+            SetConfirmWebParamsFlag();
+            strcpy( ( char * ) pcWriteBuffer, "\t\tСетевые настройки подтверждены!\r\n");
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+
+    return pdFALSE;
 
 }
 
 /*
  * Implements the history command.
  */
-static portBASE_TYPE prvTaskHistoryCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	uint8_t i;
-	static int16_t num_page = 0;
-	static int16_t num_page_temp = 1;
-	static bool start = true;
-
-	const int8_t * const pcUPShistoryTableHeader = ( int8_t * ) "\r\n***********Журнал событий ИБП***********\r\n";
-	const int8_t * const pcControllerHistoryTableHeader = ( int8_t * ) "\r\n***********Журнал событий Контроллера***********\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	if( strncmp( ( const char * ) pcParameterString, "show", xParameterStringLength ) != 0 ){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			return pdFALSE;
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-
-	for(i = 0; i < ARG_HISTORY_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, history_args_list[i], strlen(history_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	memset(str, 0, sizeof(str));
-	if(xParameterStringLength > 5){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-	strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-
-	if(num_page == 0){
-		num_page = atoi(str);
-		if(num_page <= 0){
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-			return pdFALSE;
-		}
-	}
-
-	switch(i){
-	case ARG_HISTORY_EVENTS:
-		if(start){
-			start = false;
-			/* Return the next command help string, before moving the pointer on to
-			the next command in the list. */
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcControllerHistoryTableHeader, strlen( ( char * ) pcControllerHistoryTableHeader ) );
-			memset(str, 0, sizeof(str));
-			strcat(( char * ) pcWriteBuffer, "\r\n");
-			sprintf(str, "Количество страниц журнала: %d\r\n", History_GetPageCount());
-			strncat(( char * ) pcWriteBuffer, str, strlen(str));
-			strcat(( char * ) pcWriteBuffer, "\r\n");
-
-			if(num_page > History_GetPageCount())
-				num_page = History_GetPageCount();
-		}
-
-		History_GetPage_tabs(( char * ) pcWriteBuffer, num_page_temp);
-
-		num_page --;
-		num_page_temp ++;
-		if(num_page == 0){
-			num_page = 0;
-			num_page_temp = 1;
-			start = true;
-			xReturn = pdFALSE;
-		}
-		else{
-			xReturn = pdTRUE;
-		}
-		break;
-	case ARG_HISTORY_UPS:
-		if(start){
-			start = false;
-			/* Return the next command help string, before moving the pointer on to
-			the next command in the list. */
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcUPShistoryTableHeader, strlen( ( char * ) pcUPShistoryTableHeader ) );
-			memset(str, 0, sizeof(str));
-			sprintf(str, "Количество страниц журнала: %d\r\n", LOG_GetPageCount());
-			strncat(( char * ) pcWriteBuffer, str, strlen(str));
-
-			if(num_page > LOG_GetPageCount())
-				num_page = LOG_GetPageCount();
-		}
-
-		LOG_GetPage_tabs(( char * ) pcWriteBuffer, num_page_temp);
-
-		num_page --;
-		num_page_temp ++;
-		if(num_page == 0){
-			num_page = 0;
-			num_page_temp = 1;
-			start = true;
-			xReturn = pdFALSE;
-		}
-		else{
-			xReturn = pdTRUE;
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		xReturn = pdFALSE;
-		break;
-	}
-
-	return xReturn;
+static portBASE_TYPE prvTaskHistoryCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    uint8_t i;
+    static int16_t num_page = 0;
+    static int16_t num_page_temp = 1;
+    static bool start = true;
+
+    const int8_t *const pcUPShistoryTableHeader = ( int8_t * )
+        "\r\n***********Журнал событий ИБП***********\r\n";
+    const int8_t *const pcControllerHistoryTableHeader = ( int8_t * )
+        "\r\n***********Журнал событий Контроллера***********\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    if ( strncmp( ( const char * ) pcParameterString, "show", xParameterStringLength ) != 0 ) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+
+    for (i = 0; i < ARG_HISTORY_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, history_args_list[i], strlen(history_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    memset(str, 0, sizeof(str));
+    if (xParameterStringLength > 5) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+    strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+
+    if (num_page == 0) {
+        num_page = atoi(str);
+        if (num_page <= 0) {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            return pdFALSE;
+        }
+    }
+
+    switch (i) {
+        case ARG_HISTORY_EVENTS:
+            if (start) {
+                start = false;
+                /* Return the next command help string, before moving the pointer on to
+                the next command in the list. */
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcControllerHistoryTableHeader,
+                    strlen( ( char * ) pcControllerHistoryTableHeader ) );
+                memset(str, 0, sizeof(str));
+                strcat(( char * ) pcWriteBuffer, "\r\n");
+                sprintf(str, "Количество страниц журнала: %d\r\n", History_GetPageCount());
+                strncat(( char * ) pcWriteBuffer, str, strlen(str));
+                strcat(( char * ) pcWriteBuffer, "\r\n");
+
+                if (num_page > History_GetPageCount()) {
+                    num_page = History_GetPageCount();
+                }
+            }
+
+            History_GetPage_tabs(( char * ) pcWriteBuffer, num_page_temp);
+
+            num_page --;
+            num_page_temp ++;
+            if (num_page == 0) {
+                num_page = 0;
+                num_page_temp = 1;
+                start = true;
+                xReturn = pdFALSE;
+            } else {
+                xReturn = pdTRUE;
+            }
+            break;
+        case ARG_HISTORY_UPS:
+            if (start) {
+                start = false;
+                /* Return the next command help string, before moving the pointer on to
+                the next command in the list. */
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcUPShistoryTableHeader,
+                    strlen( ( char * ) pcUPShistoryTableHeader ) );
+                memset(str, 0, sizeof(str));
+                sprintf(str, "Количество страниц журнала: %d\r\n", LOG_GetPageCount());
+                strncat(( char * ) pcWriteBuffer, str, strlen(str));
+
+                if (num_page > LOG_GetPageCount()) {
+                    num_page = LOG_GetPageCount();
+                }
+            }
+
+            LOG_GetPage_tabs(( char * ) pcWriteBuffer, num_page_temp);
+
+            num_page --;
+            num_page_temp ++;
+            if (num_page == 0) {
+                num_page = 0;
+                num_page_temp = 1;
+                start = true;
+                xReturn = pdFALSE;
+            } else {
+                xReturn = pdTRUE;
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            xReturn = pdFALSE;
+            break;
+    }
+
+    return xReturn;
 }
 
 /*
  * Implements the sensor info command.
  */
-static portBASE_TYPE prvTaskSensorCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	uint8_t i;
-	char str[10];
-	char temp_str[10];
-	int32_t val = 0, val2 = 0;
-	uint8_t fail = 0;
-	static uint8_t config_menu = 0;
-	uint8_t MAX_CONFIG_PARAM = 0;
+static portBASE_TYPE prvTaskSensorCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    uint8_t i;
+    char str[10];
+    char temp_str[10];
+    int32_t val = 0, val2 = 0;
+    uint8_t fail = 0;
+    static uint8_t config_menu = 0;
+    uint8_t MAX_CONFIG_PARAM = 0;
 
 #ifdef HARDWARE_BT6707
-	MAX_CONFIG_PARAM = 3;
+    MAX_CONFIG_PARAM = 3;
 #else
-	MAX_CONFIG_PARAM = 2;
+    MAX_CONFIG_PARAM = 2;
 #endif
 
-	const int8_t * const pcSensorTableHeader = ( int8_t * ) "\r\n*********Параметры Контроллера*********\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-
-	for(i = 0; i < ARG_SENSOR_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, sensor_args_list[i], strlen(sensor_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-
-	xParameterNumber ++;
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	if(pcParameterString == NULL){
-		if(i == ARG_SENSOR_INFO){
-			switch(config_menu){
-			case 0:
-				/* Return the next command help string, before moving the pointer on to
-				the next command in the list. */
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcSensorTableHeader, strlen( ( char * ) pcSensorTableHeader ) );
-				ups_sensor_param(pcWriteBuffer);
-				break;
-			case 1:
-				ups_sensor_akb_param(pcWriteBuffer);
-				break;
+    const int8_t *const pcSensorTableHeader = ( int8_t * )
+        "\r\n*********Параметры Контроллера*********\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+
+    for (i = 0; i < ARG_SENSOR_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, sensor_args_list[i], strlen(sensor_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+
+    xParameterNumber ++;
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    if (pcParameterString == NULL) {
+        if (i == ARG_SENSOR_INFO) {
+            switch (config_menu) {
+                case 0:
+                    /* Return the next command help string, before moving the pointer on to
+                    the next command in the list. */
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcSensorTableHeader, strlen( ( char * ) pcSensorTableHeader ) );
+                    ups_sensor_param(pcWriteBuffer);
+                    break;
+                case 1:
+                    ups_sensor_akb_param(pcWriteBuffer);
+                    break;
 #ifdef HARDWARE_BT6707
-			case 2:
-				inouts_sensor_param(pcWriteBuffer);
-				break;
+                case 2:
+                    inouts_sensor_param(pcWriteBuffer);
+                    break;
 #endif
-			}
-
-			config_menu ++;
-			if(config_menu == MAX_CONFIG_PARAM){
-				config_menu = 0;
-				return pdFALSE;
-			}
-			else{
-				return pdTRUE;
-			}
-		}
-		else{
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-	}
-	else{
-		switch(i){
+            }
+
+            config_menu ++;
+            if (config_menu == MAX_CONFIG_PARAM) {
+                config_menu = 0;
+                return pdFALSE;
+            } else {
+                return pdTRUE;
+            }
+        } else {
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        }
+    } else {
+        switch (i) {
 #ifdef HARDWARE_BT6707
-		case ARG_SENSOR_SETUP:
-			if(telnet_code_auth != ADMIN){
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-				return pdFALSE;
-			}
-			memset(str, 0, sizeof(str));
-			if(xParameterStringLength > (int32_t)sizeof(str))
-				xParameterStringLength = sizeof(str) - 1;
-			strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-			if(xParameterStringLength < 3){
-				xParameterNumber ++;
-				/* Obtain the parameter string. */
-				pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																		(
-																			pcCommandString,		/* The command string itself. */
-																			xParameterNumber,		/* Return the next parameter. */
-																			&xParameterStringLength	/* Store the parameter string length. */
-																		);
-				memset(temp_str, 0, sizeof(str));
-				if(xParameterStringLength > 1){
-					fail = 1;
-					break;
-				}
-				strncat(temp_str, ( const char * ) pcParameterString, xParameterStringLength);
-				if(!isdigit_int(temp_str[0])){
-					fail = 1;
-					break;
-				}
-				val = atoi(temp_str);
-
-				xParameterNumber ++;
-				/* Obtain the parameter string. */
-				pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-																		(
-																			pcCommandString,		/* The command string itself. */
-																			xParameterNumber,		/* Return the next parameter. */
-																			&xParameterStringLength	/* Store the parameter string length. */
-																		);
-				memset(temp_str, 0, sizeof(str));
-				if(xParameterStringLength > 1){
-					fail = 1;
-					break;
-				}
-				strncat(temp_str, ( const char * ) pcParameterString, xParameterStringLength);
-				if(!isdigit_int(temp_str[0])){
-					fail = 1;
-					break;
-				}
-				if(strncmp(str, "DI", 2) == 0){
-					if(val != 1){
-						fail = 1;
-						break;
-					}
-
-					val2 = atoi(temp_str);
-					if(val2 < 0 || val2 > 1){
-						fail = 1;
-						break;
-					}
-					SetDINTypeActStr(temp_str, (val - 1));
-					SETTINGS_Save();
-					log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-
-				}
-				else if(strncmp(str, "DO", 2) == 0){
-					if(val < 1 || val > 3){
-						fail = 1;
-						break;
-					}
-
-					val2 = atoi(temp_str);
-					if(val2 < 1 || val2 > 5){
-						fail = 1;
-						break;
-					}
-					SetROTypeActStr(temp_str, (val - 1));
-					SETTINGS_Save();
-					log_event_data(LOG_SETTING_SAVE, name_login_telnet);
-				}
-			}
-			else{
-				fail = 1;
-			}
-
-		break;
+            case ARG_SENSOR_SETUP:
+                if (telnet_code_auth != ADMIN) {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+                    return pdFALSE;
+                }
+                memset(str, 0, sizeof(str));
+                if (xParameterStringLength > (int32_t)sizeof(str)) {
+                    xParameterStringLength = sizeof(str) - 1;
+                }
+                strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+                if (xParameterStringLength < 3) {
+                    xParameterNumber ++;
+                    /* Obtain the parameter string. */
+                    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+                        (
+                            pcCommandString,        /* The command string itself. */
+                            xParameterNumber,       /* Return the next parameter. */
+                            &xParameterStringLength /* Store the parameter string length. */
+                        );
+                    memset(temp_str, 0, sizeof(str));
+                    if (xParameterStringLength > 1) {
+                        fail = 1;
+                        break;
+                    }
+                    strncat(temp_str, ( const char * ) pcParameterString, xParameterStringLength);
+                    if (!isdigit_int(temp_str[0])) {
+                        fail = 1;
+                        break;
+                    }
+                    val = atoi(temp_str);
+
+                    xParameterNumber ++;
+                    /* Obtain the parameter string. */
+                    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+                        (
+                            pcCommandString,        /* The command string itself. */
+                            xParameterNumber,       /* Return the next parameter. */
+                            &xParameterStringLength /* Store the parameter string length. */
+                        );
+                    memset(temp_str, 0, sizeof(str));
+                    if (xParameterStringLength > 1) {
+                        fail = 1;
+                        break;
+                    }
+                    strncat(temp_str, ( const char * ) pcParameterString, xParameterStringLength);
+                    if (!isdigit_int(temp_str[0])) {
+                        fail = 1;
+                        break;
+                    }
+                    if (strncmp(str, "DI", 2) == 0) {
+                        if (val != 1) {
+                            fail = 1;
+                            break;
+                        }
+
+                        val2 = atoi(temp_str);
+                        if (val2 < 0 || val2 > 1) {
+                            fail = 1;
+                            break;
+                        }
+                        SetDINTypeActStr(temp_str, (val - 1));
+                        SETTINGS_Save();
+                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+
+                    } else if (strncmp(str, "DO", 2) == 0) {
+                        if (val < 1 || val > 3) {
+                            fail = 1;
+                            break;
+                        }
+
+                        val2 = atoi(temp_str);
+                        if (val2 < 1 || val2 > 5) {
+                            fail = 1;
+                            break;
+                        }
+                        SetROTypeActStr(temp_str, (val - 1));
+                        SETTINGS_Save();
+                        log_event_data(LOG_SETTING_SAVE, name_login_telnet);
+                    }
+                } else {
+                    fail = 1;
+                }
+
+                break;
 #endif
-		default:
-			strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-		}
-	}
+            default:
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                break;
+        }
+    }
 
-	if(fail)
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+    if (fail) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+    }
 
-	xReturn = pdFALSE;
+    xReturn = pdFALSE;
 
 
-	return xReturn;
+    return xReturn;
 }
 
 /*
  * Implements the firmware download http command.
  */
-static portBASE_TYPE prvTaskUploadCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	static bool start_update = true;
-	const int8_t *const pcUploadHeader = ( int8_t * ) "Контроллер переводится в режим загрузчика\r\n";
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-
-	if(telnet_code_auth != ADMIN){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	if(start_update){
-		start_update = false;
-		strcpy( ( char * ) pcWriteBuffer, ( char * ) pcUploadHeader );
-		return pdTRUE;
-	}
-	else{
-		telnet_act = true;
-		HTTP_StartResetTask(true);
-		return pdFALSE;
-	}
+static portBASE_TYPE prvTaskUploadCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen,
+    const int8_t *pcCommandString )
+{
+    static bool start_update = true;
+    const int8_t *const pcUploadHeader = ( int8_t * )
+        "Контроллер переводится в режим загрузчика\r\n";
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+
+    if (telnet_code_auth != ADMIN) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    if (start_update) {
+        start_update = false;
+        strcpy( ( char * ) pcWriteBuffer, ( char * ) pcUploadHeader );
+        return pdTRUE;
+    } else {
+        telnet_act = true;
+        HTTP_StartResetTask(true);
+        return pdFALSE;
+    }
 }
 
 /*
  * Implements the ups command.
  */
-static portBASE_TYPE prvTaskUPSCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString ){
-	int8_t *pcParameterString;
-	signed portBASE_TYPE xParameterStringLength, xReturn;
-	portBASE_TYPE xParameterNumber = 1;
-	char str[110];
-	int32_t val = 0;
-	float val_float = 0;
-	int8_t res = 0;
-	uint8_t i;
-
-	( void ) pcCommandString;
-	( void ) xWriteBufferLen;
-	configASSERT( pcWriteBuffer );
-
-	memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
-
-	if(telnet_code_auth != ADMIN && i !=ARG_CONFIG_INFO){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
-		return pdFALSE;
-	}
-
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	for(i = 0; i < ARG_UPS_ALL; i ++){
-		if( strncmp( ( const char * ) pcParameterString, ups_args_list[i], strlen(ups_args_list[i]) ) == 0 ){
-			break;
-		}
-	}
-	xParameterNumber ++;
-
-	/* Obtain the parameter string. */
-	pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
-															(
-																pcCommandString,		/* The command string itself. */
-																xParameterNumber,		/* Return the next parameter. */
-																&xParameterStringLength	/* Store the parameter string length. */
-															);
-	memset(str, 0, sizeof(str));
-	if(xParameterStringLength > 3){
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		return pdFALSE;
-	}
-	strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
-
-	switch(i){
-	case ARG_UPS_BATTEST:
-		for(uint8_t j = 0; j < xParameterStringLength; j++){
-			if(!isdigit_int(str[j])){
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				return pdFALSE;
-			}
-		}
-		val = atoi(str);
-		 if(val == 0){
-			  res = ups_metac_service_pdu(ups_cancel_test);
-			  if(res == 1){
-				  log_event_data(LOG_TEST_UPS, "Администратор (Останов)");
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест остановлен!\r\n");
-			  }
-			  else{
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось остановить!\r\n");
-			  }
-		  }
-		  else if(val > 0 && val < 100){
-			  TimeParam = val;
-			  res = ups_metac_service_pdu(ups_test_time);
-			  if(res == 1){
-				  log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
-			  }
-			  else{
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
-			  }
-		  }
-		  else if(val == 100){
-			  res = ups_metac_service_pdu(ups_test_10sec);
-			  if(res == 1){
-				  log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
-			  }
-			  else{
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
-			  }
-		  }
-		  else if(val == 999){
-			  res = ups_metac_service_pdu(ups_test_low_bat);
-			  if(res == 1){
-				  log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
-			  }
-			  else{
-				  strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
-			  }
-		  }
-		  else{
-			  strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		  }
-		break;
-	case ARG_UPS_SHUTDOWN:
-		for(uint8_t j = 0; j < xParameterStringLength; j++){
-			if(!isfloatdigit(str[j])){
-				strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-				return pdFALSE;
-			}
-		}
-		val_float = atof(str);
-		if(val_float == 0){
-			  res = ups_metac_service_pdu(ups_cancel_shut_down);
-				if(res == 1){
-					log_event_data(LOG_SHUTDOWN_UPS, "Администратор (Останов)");
-					strcpy( ( char * ) pcWriteBuffer, "\t\t\tВыключение нагрузки ИБП отменено!\r\n");
-				}
-				 else{
-				     strcpy( ( char * ) pcWriteBuffer, "\t\tВыключение нагрузки ИБП не удалось отменить!\r\n");
-			     }
-		}
-		else if(val_float > 0 && val_float <= 10){
-			TimeParamFloat = val_float;
-			res = ups_metac_service_pdu(ups_shutdown);
-			if(res == 1){
-				log_event_data(LOG_SHUTDOWN_UPS, "Администратор");
-				strcpy( ( char * ) pcWriteBuffer, "\t\tОтключение нагрузки ИБП!\r\n");
-			}
-			else{
-				strcpy( ( char * ) pcWriteBuffer, "\t\tОтключение нагрузки ИБП не удалось!\r\n");
-			}
-		}
-		 else{
-			 strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		}
-		break;
-	default:
-		strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
-		break;
-	}
-	xReturn = pdFALSE;
-
-	return xReturn;
+static portBASE_TYPE prvTaskUPSCommand( int8_t *pcWriteBuffer, size_t xWriteBufferLen, const int8_t *pcCommandString )
+{
+    int8_t *pcParameterString;
+    signed portBASE_TYPE xParameterStringLength, xReturn;
+    portBASE_TYPE xParameterNumber = 1;
+    char str[110];
+    int32_t val = 0;
+    float val_float = 0;
+    int8_t res = 0;
+    uint8_t i;
+
+    ( void ) pcCommandString;
+    ( void ) xWriteBufferLen;
+    configASSERT( pcWriteBuffer );
+
+    memset(pcWriteBuffer, 0, configCOMMAND_INT_MAX_OUTPUT_SIZE);
+
+    if (telnet_code_auth != ADMIN && i != ARG_CONFIG_INFO) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcPermissionDenied, strlen( ( char * ) pcPermissionDenied ) );
+        return pdFALSE;
+    }
+
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    for (i = 0; i < ARG_UPS_ALL; i ++) {
+        if ( strncmp( ( const char * ) pcParameterString, ups_args_list[i], strlen(ups_args_list[i]) ) == 0 ) {
+            break;
+        }
+    }
+    xParameterNumber ++;
+
+    /* Obtain the parameter string. */
+    pcParameterString = ( int8_t * ) FreeRTOS_CLIGetParameter
+        (
+            pcCommandString,        /* The command string itself. */
+            xParameterNumber,       /* Return the next parameter. */
+            &xParameterStringLength /* Store the parameter string length. */
+        );
+    memset(str, 0, sizeof(str));
+    if (xParameterStringLength > 3) {
+        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+        return pdFALSE;
+    }
+    strncat(str, ( const char * ) pcParameterString, xParameterStringLength);
+
+    switch (i) {
+        case ARG_UPS_BATTEST:
+            for (uint8_t j = 0; j < xParameterStringLength; j++) {
+                if (!isdigit_int(str[j])) {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    return pdFALSE;
+                }
+            }
+            val = atoi(str);
+            if (val == 0) {
+                res = ups_metac_service_pdu(ups_cancel_test);
+                if (res == 1) {
+                    log_event_data(LOG_TEST_UPS, "Администратор (Останов)");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест остановлен!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось остановить!\r\n");
+                }
+            } else if (val > 0 && val < 100) {
+                TimeParam = val;
+                res = ups_metac_service_pdu(ups_test_time);
+                if (res == 1) {
+                    log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
+                }
+            } else if (val == 100) {
+                res = ups_metac_service_pdu(ups_test_10sec);
+                if (res == 1) {
+                    log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
+                }
+            } else if (val == 999) {
+                res = ups_metac_service_pdu(ups_test_low_bat);
+                if (res == 1) {
+                    log_event_data(LOG_TEST_UPS, "Администратор (Запущен)");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест запущен!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tТест не удалось запустить!\r\n");
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        case ARG_UPS_SHUTDOWN:
+            for (uint8_t j = 0; j < xParameterStringLength; j++) {
+                if (!isfloatdigit(str[j])) {
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    return pdFALSE;
+                }
+            }
+            val_float = atof(str);
+            if (val_float == 0) {
+                res = ups_metac_service_pdu(ups_cancel_shut_down);
+                if (res == 1) {
+                    log_event_data(LOG_SHUTDOWN_UPS, "Администратор (Останов)");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\t\tВыключение нагрузки ИБП отменено!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer,
+                        "\t\tВыключение нагрузки ИБП не удалось отменить!\r\n");
+                }
+            } else if (val_float > 0 && val_float <= 10) {
+                TimeParamFloat = val_float;
+                res = ups_metac_service_pdu(ups_shutdown);
+                if (res == 1) {
+                    log_event_data(LOG_SHUTDOWN_UPS, "Администратор");
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tОтключение нагрузки ИБП!\r\n");
+                } else {
+                    strcpy( ( char * ) pcWriteBuffer, "\t\tОтключение нагрузки ИБП не удалось!\r\n");
+                }
+            } else {
+                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            }
+            break;
+        default:
+            strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+            break;
+    }
+    xReturn = pdFALSE;
+
+    return xReturn;
 }
 
 /*-----------------------------------------------------------*/

+ 7 - 0
modules/Telnet_Server/CLI_Commands.h

@@ -49,6 +49,13 @@ typedef enum{
 	ARG_AKB_INFO = 0,
 	ARG_AKB_VOLT_CELL_MIN,
 	ARG_AKB_VOLT_CELL_MAX,
+#ifdef HARDWARE_BT6709
+	ARG_AKB_CAPACITY,
+	ARG_AKB_VOLT,
+	ARG_AKB_LIFETIME,
+	ARG_AKB_DATASET,
+	ARG_AKB_UPS_POWER,
+#endif
 	ARG_AKB_ALL
 }akb_args_t;
 

+ 53 - 5
modules/Telnet_Server/CLI_Parameters.c

@@ -222,13 +222,37 @@ void akb_config_param(int8_t *buf)
 	strncpy( ( char * ) buf, ( const char * ) pcAKBTableHeader, strlen( ( char * ) pcAKBTableHeader ) );
 
 	GetUPSVoltCellMinStr(str, &len);
-	strcat(( char * ) buf, "Мин. напряжение ячейки (В):\t");
+	strcat(( char * ) buf, "Мин. напряжение ячейки (В):\t\t");
 	strncat(( char * ) buf, str, len);
 
-	strcat(( char * ) buf, "\r\nМакс. напряжение ячейки (В):\t");
+	strcat(( char * ) buf, "\r\nМакс. напряжение ячейки (В):\t\t");
 	GetUPSVoltCellMaxStr(str, &len);
 	strncat(( char * ) buf, str, len);
 
+#ifdef HARDWARE_BT6709
+
+	GetVoltageAKBNominalStr(str, &len);
+	strcat(( char * ) buf, "\r\nНоминальное напряжение (В):\t\t");
+	strncat(( char * ) buf, str, len);
+
+	strcat(( char * ) buf, "\r\nЁмкость (Ач):\t\t\t\t");
+	GetCapacityNominalAKBStr(str, &len);
+	strncat(( char * ) buf, str, len);
+
+	GetLifeTimeAKBStr(str, &len);
+	strcat(( char * ) buf, "\r\nСрок службы (лет):\t\t\t");
+	strncat(( char * ) buf, str, len);
+
+	strcat(( char * ) buf, "\r\nДата установки:\t\t\t\t");
+	GetDataSetAKBStr(str, &len);
+	strncat(( char * ) buf, str, len);
+
+	GetUPSPowerStr(str, &len);
+	strcat(( char * ) buf, "\r\nПолная мощность ИБП (ВА):\t\t");
+	strncat(( char * ) buf, str, len);
+
+#endif
+
 	strcat(( char * ) buf, "\r\n");
 }
 
@@ -357,6 +381,16 @@ void ups_sensor_param(int8_t *buf)
 	GetOutputVoltageStr(str, &len);
 	strncat(( char * ) buf, str, len);
 
+#ifdef HARDWARE_BT6709
+	GetInputCurrentStr(str, &len);
+	strcat(( char * ) buf, "\r\nВходная сила тока (A):\t\t\t");
+	strncat(( char * ) buf, str, len);
+
+	strcat(( char * ) buf, "\r\nВыходная сила тока (A):\t\t\t");
+	GetOutputCurrentStr(str, &len);
+	strncat(( char * ) buf, str, len);
+#endif
+
 	strcat(( char * ) buf, "\r\nВходная частота:\t\t\t");
 	GetInputFreqStr(str, &len);
 	strncat(( char * ) buf, str, len);
@@ -388,17 +422,31 @@ void ups_sensor_akb_param(int8_t *buf)
 	strncpy( ( char * ) buf, ( const char * ) pcAKBInfoTableHeader, strlen( ( char * ) pcAKBInfoTableHeader ) );
 
 	GetBatCapacityStr(str, &len);
-	strcat(( char * ) buf, "Емкость батареи:\t\t\t");
+	strcat(( char * ) buf, "Оставшаяся емкость батареи (%):\t\t");
 	strncat(( char * ) buf, str, len);
 
-	strcat(( char * ) buf, "\r\nВнутренняя температура:\t\t\t");
+	strcat(( char * ) buf, "\r\nВнутренняя температура (°C):\t\t");
 	GetInternalTempStr(str, &len);
 	strncat(( char * ) buf, str, len);
 
-	strcat(( char * ) buf, "\r\nОставшееся время работы:\t\t");
+	strcat(( char * ) buf, "\r\nОставшееся время работы (мин):\t\t");
 	GetRuntimeStr(str, &len);
 	strncat(( char * ) buf, str, len);
 
+#ifdef HARDWARE_BT6709
+	GetCapacityNominalAKBStr(str, &len);
+	strcat(( char * ) buf, "\r\nЕмкость батареи (Ач):\t\t\t");
+	strncat(( char * ) buf, str, len);
+
+	strcat(( char * ) buf, "\r\nНапряжение батареи (В):\t\t\t");
+	GetVoltageAKBtStr(str, &len);
+	strncat(( char * ) buf, str, len);
+
+	strcat(( char * ) buf, "\r\nДата следующей замены:\t\t\t");
+	GetDataNextChangeAKBStr(str, &len);
+	strncat(( char * ) buf, str, len);
+#endif
+
 	strcat(( char * ) buf, "\r\nСтатус:\t\t\t\t\t");
 	GetAKBAlarmStr(str, &len);
 	strncat(( char * ) buf, str, len);