Browse Source

[BT-6711][CLI]add parameters to config info, sensor info, alarm info

balbekova 4 years ago
parent
commit
39597cc01c
4 changed files with 147 additions and 35 deletions
  1. 75 25
      modules/cli/CLI_Commands.c
  2. 6 0
      modules/cli/CLI_Commands.h
  3. 62 10
      modules/cli/CLI_Parameters.c
  4. 4 0
      modules/cli/CLI_Parameters.h

+ 75 - 25
modules/cli/CLI_Commands.c

@@ -100,6 +100,9 @@ const char *type_alarm_args_list[] = {
     "temp",
     "temp",
     "load",
     "load",
     "vout",
     "vout",
+#ifdef VAC_IN_MONITOR
+    "vacin",
+#endif
 };
 };
 
 
 const char *alarm_args_list[] = {
 const char *alarm_args_list[] = {
@@ -361,8 +364,13 @@ static const CLI_Command_Definition_t prvAlarmCommandDefinition = {
 							"\talarm load hist <value>: ввод гистерезиса аварии по нагрузке (%)\r\n"
 							"\talarm load hist <value>: ввод гистерезиса аварии по нагрузке (%)\r\n"
 							"\talarm vout low <value>: ввод нижней границы аварии по вых. напряжению (В)\r\n"
 							"\talarm vout low <value>: ввод нижней границы аварии по вых. напряжению (В)\r\n"
 							"\talarm vout high <value>: ввод верxней границы аварии по вых. напряжению (В)\r\n"
 							"\talarm vout high <value>: ввод верxней границы аварии по вых. напряжению (В)\r\n"
-							"\talarm vout hist <value>: ввод гистерезиса аварии по вых. напряжению (В)\r\n",
-    prvTaskAlarmCommand, /* The function to run. */
+							"\talarm vout hist <value>: ввод гистерезиса аварии по вых. напряжению (В)\r\n"
+#ifdef VAC_IN_MONITOR
+							"\talarm vacin low <value>: ввод нижней границы аварии по вх. напряжению (В)\r\n"
+							"\talarm vacin high <value>: ввод верxней границы аварии по вх. напряжению (В)\r\n"
+							"\talarm vacin hist <value>: ввод гистерезиса аварии по вх. напряжению (В)\r\n"
+#endif
+    ,prvTaskAlarmCommand, /* The function to run. */
     -1 /* The user can enter any number of commands. */
     -1 /* The user can enter any number of commands. */
 };
 };
 
 
@@ -1841,6 +1849,60 @@ static portBASE_TYPE prvTaskAlarmCommand(cli_state_t *cli_state, int8_t *pcWrite
                     break;
                     break;
             }
             }
             break;
             break;
+#ifdef VAC_IN_MONITOR
+        case ARG_ALARM_VACIN:
+            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) {
+                        SetVACInputAlarmLowRangeStr(str);
+                        cli_save_config(cli_state);
+                    } 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) {
+                        SetVACInputAlarmHighRangeStr(str);
+                        cli_save_config(cli_state);
+                    } 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) {
+                        SetVACinputAlarmHisteStr(str);
+                        cli_save_config(cli_state);
+                    } else {
+                        strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    }
+                    break;
+                default:
+                    strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
+                    break;
+            }
+            break;
+#endif
         default:
         default:
             strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
             strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInvalidCommand, strlen( ( char * ) pcInvalidCommand ) );
             break;
             break;
@@ -2265,6 +2327,11 @@ static portBASE_TYPE prvTaskConfigCommand(cli_state_t *cli_state, int8_t *pcWrit
                     case PARAM_CONFIG_INOUTS:
                     case PARAM_CONFIG_INOUTS:
                         inouts_config_param(pcWriteBuffer);
                         inouts_config_param(pcWriteBuffer);
                         break;
                         break;
+#endif
+#ifdef SYSLOG_ENABLE
+	                case PARAM_CONFIG_SYSLOG:
+                        syslog_config_param(pcWriteBuffer);
+                        break;
 #endif
 #endif
                     case PARAM_CONFIG_AKB:
                     case PARAM_CONFIG_AKB:
                         akb_config_param(pcWriteBuffer);
                         akb_config_param(pcWriteBuffer);
@@ -2919,9 +2986,6 @@ static portBASE_TYPE  prvTaskSysLogCommand(cli_state_t *cli_state, int8_t *pcWri
     uint8_t i;
     uint8_t i;
     bool enable_old_syslog;
     bool enable_old_syslog;
 
 
-    const int8_t *const pcInfoTableHeader = ( int8_t * )
-        "\r\n***********SysLog настройки Контроллера***********\r\n";
-
     ( void ) pcCommandString;
     ( void ) pcCommandString;
     ( void ) xWriteBufferLen;
     ( void ) xWriteBufferLen;
     configASSERT( pcWriteBuffer );
     configASSERT( pcWriteBuffer );
@@ -2964,21 +3028,7 @@ static portBASE_TYPE  prvTaskSysLogCommand(cli_state_t *cli_state, int8_t *pcWri
             case ARG_SYSLOG_INFO:
             case ARG_SYSLOG_INFO:
                 /* Return the next command help string, before moving the pointer on to
                 /* Return the next command help string, before moving the pointer on to
                 the next command in the list. */
                 the next command in the list. */
-                strncpy( ( char * ) pcWriteBuffer, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
-
-                GetSyslogEnableStrRU(str, &len);
-                strcat(( char * ) pcWriteBuffer, "Передача по SysLog:\t\t");
-                strncat(( char * ) pcWriteBuffer, str, len);
-
-                strcat(( char * ) pcWriteBuffer, "\r\nIP адрес сервера:\t\t");
-                GetSyslogServer(str, &len);
-                strncat(( char * ) pcWriteBuffer, str, len);
-
-                strcat(( char * ) pcWriteBuffer, "\r\nПорт сервера:\t\t\t");
-                GetSyslogPort(str, &len);
-                strncat(( char * ) pcWriteBuffer, str, len);
-
-                strcat(( char * ) pcWriteBuffer, "\r\n");
+                syslog_config_param(pcWriteBuffer);
                 break;
                 break;
             case ARG_SYSLOG_ENABLE:
             case ARG_SYSLOG_ENABLE:
                 enable_old_syslog = sSettings.sSyslog.enabled;
                 enable_old_syslog = sSettings.sSyslog.enabled;
@@ -3106,11 +3156,11 @@ static portBASE_TYPE prvTaskFTPCommand(cli_state_t *cli_state, int8_t *pcWriteBu
             ;
             ;
             snprintf((char *)pcWriteBuffer, configCOMMAND_INT_MAX_OUTPUT_SIZE, "\r\n"
             snprintf((char *)pcWriteBuffer, configCOMMAND_INT_MAX_OUTPUT_SIZE, "\r\n"
                      "*******************Настройки FTP********************\r\n"
                      "*******************Настройки FTP********************\r\n"
-                     "Адрес сервера: %s\r\n"
-                     "Порт: %u\r\n"
-                     "Путь к файлу: %s\r\n"
-                     "Имя пользователя: %s\r\n"
-                     "Пароль: %s\r\n",
+                     "Адрес сервера: \t\t%s\r\n"
+                     "Порт: \t\t\t%u\r\n"
+                     "Путь к файлу: \t\t%s\r\n"
+                     "Имя пользователя: \t%s\r\n"
+                     "Пароль: \t\t%s\r\n",
                      ipaddr_ntoa(&sSettings.sSyslog.server_ip),
                      ipaddr_ntoa(&sSettings.sSyslog.server_ip),
                      sSettings.sFTPUpdate.server_port,
                      sSettings.sFTPUpdate.server_port,
                      sSettings.sFTPUpdate.remote_path,
                      sSettings.sFTPUpdate.remote_path,

+ 6 - 0
modules/cli/CLI_Commands.h

@@ -68,6 +68,9 @@ typedef enum{
 	ARG_ALARM_TEMP,
 	ARG_ALARM_TEMP,
 	ARG_ALARM_LOAD,
 	ARG_ALARM_LOAD,
 	ARG_ALARM_VOUT,
 	ARG_ALARM_VOUT,
+#ifdef VAC_IN_MONITOR
+	ARG_ALARM_VACIN,
+#endif
 	ARG_ALARM_TYPE_ALL
 	ARG_ALARM_TYPE_ALL
 }type_alarm_args_t;
 }type_alarm_args_t;
 
 
@@ -109,6 +112,9 @@ typedef enum{
 	PARAM_CONFIG_SNMP = 0,
 	PARAM_CONFIG_SNMP = 0,
 #ifdef DINS_ENABLE || DOUTS_ENABLE
 #ifdef DINS_ENABLE || DOUTS_ENABLE
 	PARAM_CONFIG_INOUTS,
 	PARAM_CONFIG_INOUTS,
+#endif
+#ifdef SYSLOG_ENABLE
+	PARAM_CONFIG_SYSLOG,
 #endif
 #endif
 	PARAM_CONFIG_AKB,
 	PARAM_CONFIG_AKB,
 	PARAM_CONFIG_ALARM,
 	PARAM_CONFIG_ALARM,

+ 62 - 10
modules/cli/CLI_Parameters.c

@@ -174,6 +174,33 @@ void net_config_param(int8_t *buf)
     strcat(( char * ) buf, "\r\n");
     strcat(( char * ) buf, "\r\n");
 }
 }
 
 
+#ifdef SYSLOG_ENABLE
+void syslog_config_param(int8_t *buf)
+{
+    char str[100];
+    uint8_t len = 0;
+
+    const int8_t *const pcInfoTableHeader = ( int8_t * )
+    "\r\n***********SysLog настройки Контроллера***********\r\n";
+
+    strncpy( ( char * ) buf, ( const char * ) pcInfoTableHeader, strlen( ( char * ) pcInfoTableHeader ) );
+
+    GetSyslogEnableStrRU(str, &len);
+    strcat(( char * ) buf, "Передача по SysLog:\t\t");
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, "\r\nIP адрес сервера:\t\t");
+    GetSyslogServer(str, &len);
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, "\r\nПорт сервера:\t\t\t");
+    GetSyslogPort(str, &len);
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, "\r\n");
+}
+#endif
+
 //Настройки времени
 //Настройки времени
 void time_config_param(int8_t *buf)
 void time_config_param(int8_t *buf)
 {
 {
@@ -236,7 +263,7 @@ void akb_config_param(int8_t *buf)
     GetUPSVoltCellMaxStr(str, &len);
     GetUPSVoltCellMaxStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
-#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS 
+#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS || HARDWARE_BT6711
 
 
     GetVoltageAKBNominalStr(str, &len);
     GetVoltageAKBNominalStr(str, &len);
     strcat(( char * ) buf, "\r\nНоминальное напряжение (В):\t\t");
     strcat(( char * ) buf, "\r\nНоминальное напряжение (В):\t\t");
@@ -246,6 +273,11 @@ void akb_config_param(int8_t *buf)
     GetCapacityNominalAKBStr(str, &len);
     GetCapacityNominalAKBStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
+    GetUPSPowerStr(str, &len);
+    strcat(( char * ) buf, "\r\nПолная мощность ИБП (ВА):\t\t");
+    strncat(( char * ) buf, str, len);
+#endif
+#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS
     GetLifeTimeAKBStr(str, &len);
     GetLifeTimeAKBStr(str, &len);
     strcat(( char * ) buf, "\r\nСрок службы (лет):\t\t\t");
     strcat(( char * ) buf, "\r\nСрок службы (лет):\t\t\t");
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
@@ -253,11 +285,6 @@ void akb_config_param(int8_t *buf)
     strcat(( char * ) buf, "\r\nДата установки:\t\t\t\t");
     strcat(( char * ) buf, "\r\nДата установки:\t\t\t\t");
     GetDataSetAKBStr(str, &len);
     GetDataSetAKBStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
-
-    GetUPSPowerStr(str, &len);
-    strcat(( char * ) buf, "\r\nПолная мощность ИБП (ВА):\t\t");
-    strncat(( char * ) buf, str, len);
-
 #endif
 #endif
 
 
     strcat(( char * ) buf, "\r\n");
     strcat(( char * ) buf, "\r\n");
@@ -335,6 +362,29 @@ void alarm_config_param(int8_t *buf)
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
     strcat(( char * ) buf, "\r\n");
     strcat(( char * ) buf, "\r\n");
+
+#ifdef VAC_IN_MONITOR
+   const int8_t *const pcAlarmVinTableHeader = ( int8_t * )
+        "\r\n*********Входное напряжение (В)*********\r\n";
+    /* Return the next command help string, before moving the pointer on to
+    the next command in the list. */
+    strncat( ( char * ) buf, ( const char * ) pcAlarmVinTableHeader, strlen( ( char * ) pcAlarmVinTableHeader ) );
+
+    GetVACInputAlarmHighRangeStr(str, &len);
+    strcat(( char * ) buf, name_range_alarm[0]);
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, name_range_alarm[1]);
+    GetVACInputAlarmLowRangeStr(str, &len);
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, name_range_alarm[2]);
+    GetVACInputAlarmLowRangeStr(str, &len);
+    strncat(( char * ) buf, str, len);
+
+    strcat(( char * ) buf, "\r\n");
+#endif
+
 }
 }
 
 
 #ifdef NOTIFICATION_CONTROL_ENABLE
 #ifdef NOTIFICATION_CONTROL_ENABLE
@@ -430,7 +480,7 @@ void ups_sensor_param(int8_t *buf)
     GetOutputVoltageStr(str, &len);
     GetOutputVoltageStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
-#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS 
+#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS || HARDWARE_BT6711
     GetInputCurrentStr(str, &len);
     GetInputCurrentStr(str, &len);
     strcat(( char * ) buf, "\r\nВходная сила тока (A):\t\t\t");
     strcat(( char * ) buf, "\r\nВходная сила тока (A):\t\t\t");
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
@@ -449,7 +499,8 @@ void ups_sensor_param(int8_t *buf)
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
     strcat(( char * ) buf, "\r\nТекущий режим:\t\t\t\t");
     strcat(( char * ) buf, "\r\nТекущий режим:\t\t\t\t");
-    GetUPSModeStr(str, &len);
+    str[0] = 0;
+    GetModeStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
     strcat(( char * ) buf, "\r\nСтатус:\t\t\t\t\t");
     strcat(( char * ) buf, "\r\nСтатус:\t\t\t\t\t");
@@ -483,7 +534,7 @@ void ups_sensor_akb_param(int8_t *buf)
     GetRuntimeStr(str, &len);
     GetRuntimeStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
 
 
-#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS 
+#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS || HARDWARE_BT6711
     GetCapacityNominalAKBStr(str, &len);
     GetCapacityNominalAKBStr(str, &len);
     strcat(( char * ) buf, "\r\nЕмкость батареи (Ач):\t\t\t");
     strcat(( char * ) buf, "\r\nЕмкость батареи (Ач):\t\t\t");
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
@@ -491,7 +542,8 @@ void ups_sensor_akb_param(int8_t *buf)
     strcat(( char * ) buf, "\r\nНапряжение батареи (В):\t\t\t");
     strcat(( char * ) buf, "\r\nНапряжение батареи (В):\t\t\t");
     GetVoltageAKBtStr(str, &len);
     GetVoltageAKBtStr(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);
-
+#endif
+#if HARDWARE_BT6709 || HARDWARE_BT6709_MTS
     strcat(( char * ) buf, "\r\nДата следующей замены:\t\t\t");
     strcat(( char * ) buf, "\r\nДата следующей замены:\t\t\t");
     GetDataNextChangeAKBStrRU(str, &len);
     GetDataNextChangeAKBStrRU(str, &len);
     strncat(( char * ) buf, str, len);
     strncat(( char * ) buf, str, len);

+ 4 - 0
modules/cli/CLI_Parameters.h

@@ -23,6 +23,10 @@ void net_config_param(int8_t *buf);
 //Настройки времени
 //Настройки времени
 void time_config_param(int8_t *buf);
 void time_config_param(int8_t *buf);
 
 
+#ifdef SYSLOG_ENABLE
+void syslog_config_param(int8_t *buf);
+#endif
+
 //Настройки АКБ
 //Настройки АКБ
 void akb_config_param(int8_t *buf);
 void akb_config_param(int8_t *buf);