123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- /********************************* (C) ROTEK ***********************************
- * @module settings_api
- * @file settings_api.c
- * @version 1.0.0
- * @date XX.XX.XXXX
- * $brief Settings
- *******************************************************************************
- * @history Version Author Comment
- * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
- *******************************************************************************
- */
- #if HARDWARE_BT6711 || HARDWARE_BT6711_V1
- #include "stm32f4xx.h"
- #include "settings_api.h"
- #include "common_config.h"
- #ifndef BT6702_SERVICE
- #include "snmp_api.h"
- #include "trap_api.h"
- #include "log.h"
- #endif
- #include "sys_api.h"
- #include "main.h"
- #include "parameters.h"
- #include <string.h>
- #include <stdlib.h>
- #ifdef PRINTF_STDLIB
- #include <stdio.h>
- #endif
- #ifdef PRINTF_CUSTOM
- #include "tinystdio.h"
- #endif
- //#define DBG if(0)
- const char* logsStrShortRu[] =
- {
- "Перезагрузка контроллера",
- "Сброс настроек",
- "Обновление ПО",
- "Включение",
- "Смена пароля",
- "Сохранение настроек",
- "Авторизация (Telnet)",
- "Авторизация",
- "Режим работы ИБП",
- "Тест ИБП",
- "Откл. нагрузки ИБП",
- "Низкое вых. напряжение",
- "Высокое вых. напряжение",
- "Высокая температура",
- "Низкая температура",
- "Авария вх. напряжения",
- "Низкий заряд АКБ",
- "Авария нагрузки",
- "Авария связи с ИБП",
- "Авария отключения АКБ",
- "Ёмкость АКБ",
- "Ош. подкл. вх. напряжения",
- "Срабатывание EPO",
- };
- const char* name_traps[] =
- {
- "",
- "Начало обновл. ПО",
- "Успешное обновл. ПО",
- "Сброс настроек",
- "Перезагрузка",
- "Режим работы ИБП",
- "Норм. темп. АКБ по верх. границы",
- "Авария темп. АКБ по верх. границы",
- "Норм. темп. АКБ по ниж. границы",
- "Авария темп. АКБ по ниж. границы",
- "Авария на линии",
- "Нормализация линии",
- "Авария вых. напряжения по ниж. границы",
- "Норм. вых. напряжения по ниж. границы",
- "Авария вых. напряжения по верх. границы",
- "Норм. вых. напряжения по верх. границы",
- "Низкий заряд АКБ",
- "Тест АКБ запущен",
- "Тест АКБ завершен",
- "Отказ АКБ",
- "АКБ в норме",
- "Нормализация заряда АКБ",
- "Отключение АКБ",
- "Подключение АКБ",
- "Авария нагрузки",
- "Нагрузка в норме",
- "Авария соединения с ИБП",
- "Норм. соединения с ИБП",
- "Ош. подкл. вх. напряжения",
- "Норм. подкл. вх. напряжения",
- "Срабатывание EPO",
- "EPO норма",
- };
- /**
- * @brief Установить параметры SNMP по умолчанию
- */
- void SETTINGS_SetSnmpDef(void)
- {
- strcpy(sSettings.sSnmp.sysDesc.description, "");
- sSettings.sSnmp.sysDesc.len = 0;
- strcpy(sSettings.sSnmp.readCommunity, "public");
- strcpy(sSettings.sSnmp.writeCommunity, "public");
- strcpy(sSettings.sSnmp.sysContact.contact, "");
- sSettings.sSnmp.sysContact.len = 0;
- strcpy(sSettings.sSnmp.sysName.name, "");
- sSettings.sSnmp.sysName.len = 0;
- strcpy(sSettings.sSnmp.sysLocation.location, "");
- sSettings.sSnmp.sysLocation.len = 0;
- strcpy(sSettings.sSnmp.managerIP, "0.0.0.0");
- strcpy(sSettings.sSnmp.managerIP2, "0.0.0.0");
- strcpy(sSettings.sSnmp.managerIP3, "0.0.0.0");
- strcpy(sSettings.sSnmp.managerIP4, "0.0.0.0");
- strcpy(sSettings.sSnmp.managerIP5, "0.0.0.0");
- }
- /**
- * @brief Настройки ИБП по умолчанию
- */
- void SETTINGS_SetUPSSettingsDef(void)
- {
- sSettings.UPS_Setting.Ucellmin = 1.67;
- sSettings.UPS_Setting.Ucellmax = 2.27;
- sSettings.UPS_Setting.Uakb = 36;
- sSettings.UPS_Setting.common_capacity = 40;
- sSettings.UPS_Setting.ups_power = 1000;
- sSettings.UPS_Setting.set_data = 0;
- sSettings.UPS_Setting.life_time = 5;
- sSettings.UPS_Setting.type_ups = ups_kestar;
- }
- /**
- * @brief Настройки серийного номера ИБП по умолчанию
- */
- void SETTINGS_SetUPSSerialSettingsDef(void)
- {
- sSettings.UPS_Setting.serial = 0;
- }
- /**
- * @brief Установить наcтройки менеджера Аварий по умолчанию
- */
- void SETTINGS_SetAlarmManagerDef(void)
- {
- sSettings.sAlarmManager.load_range.high = 70.0;
- sSettings.sAlarmManager.load_range.low = 0;
- sSettings.sAlarmManager.load_range.hyst = 1;
- sSettings.sAlarmManager.ac_input_range.high = 250.0;
- sSettings.sAlarmManager.ac_input_range.low = 150.0;
- sSettings.sAlarmManager.ac_input_range.hyst = 20.0;
- sSettings.sAlarmManager.ac_output_range.high = 250.0;
- sSettings.sAlarmManager.ac_output_range.low = 150.0;
- sSettings.sAlarmManager.ac_output_range.hyst = 20.0;
- sSettings.sAlarmManager.Temprature_range.high = 70.0;
- sSettings.sAlarmManager.Temprature_range.low = -40.0;
- sSettings.sAlarmManager.Temprature_range.hyst = 1;
- }
- /**
- * @brief Установить значение сервисных настроек по умолчанию
- */
- void SETTINGS_SetServiceDef(void)
- {
- uint8_t user_id;
- for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
- switch (user_id) {
- /* First users in the system is always ADMIN.
- * Others are USER */
- case 0:
- sSettings.sAuth[user_id].level = ADMIN;
- strcpy(sSettings.sAuth[user_id].login, "admin");
- strcpy(sSettings.sAuth[user_id].password, "12345");
- break;
- case 1:
- default:
- sSettings.sAuth[user_id].level = USER;
- strcpy(sSettings.sAuth[user_id].login, "user");
- strcpy(sSettings.sAuth[user_id].password, "1234");
- break;
- }
- }
- }
- /**
- * @brief Установить параметры SNTP по умолчанию
- */
- void SETTINGS_SetSntpDef(void)
- {
- sSettings.sSNTP.sntpEnable = true;
- strcpy(sSettings.sSNTP.ip, "88.147.254.235");
- sSettings.sSNTP.timeZone = 3.0;
- strcpy(sSettings.sSNTP.data, "none");
- }
- /**
- * @brief Установить параметры настроек реле по умолчанию
- */
- void SETTINGS_SetRelaysDef(void)
- {
- }
- /**
- * @brief Установить параметры настроек сухих контактов по умолчанию
- */
- void SETTINGS_SetDINSDef(void)
- {
- }
- /**
- * @brief Установить параметры RADIUS по умолчанию
- */
- void SETTINGS_SetRADIUSDef(void)
- {
- sSettings.sRADIUS.Auth_enable = true;
- //sSettings.sRADIUS.RDSEnable = false;
- // todo вернуть на значение false
- sSettings.sRADIUS.RDSEnable = false;
- strcpy(sSettings.sRADIUS.ServerIP, "0.0.0.0");
- //strcpy(sSettings.sRADIUS.ServerIP, "192.168.14.234");
- sSettings.sRADIUS.port = 1812;
- sSettings.sRADIUS.key_access = 123;
- strcpy(sSettings.sRADIUS.rds_password, "R02ekR4MP2");
- }
- /**
- * @brief Установить параметры сертификата сервера по умолчанию
- */
- void SETTINGS_SetSSLcrtDef(void){
- }
- /**
- * @brief Установить параметры Telnet
- */
- void SETTINGS_SetTelnetDef(void){
- sSettings.sTelnet.TelnetEnable = true;
- sSettings.sTelnet.port = 23;
- }
- /**
- * @brief Установить параметры SSH
- */
- void SETTINGS_SetSSHDef(void){
- }
- /**
- * @brief Установить параметры списка доверительных хостов
- */
- void SETTINGS_SetWhiteListDef(void){
- for(uint8_t i = 0; i < MAX_WHITE_LIST; i++){
- strcpy(sSettings.sWhiteListTemp[i].ip_range, "");
- SetWhiteListSTR(sSettings.sWhiteListTemp[i].ip_range, i);
- strcpy(sSettings.sWhiteList[i].ip_range, sSettings.sWhiteListTemp[i].ip_range);
- sSettings.sWhiteList[i].ip = sSettings.sWhiteListTemp[i].ip;
- sSettings.sWhiteList[i].mask = sSettings.sWhiteListTemp[i].mask;
- }
- }
- /**
- * @brief Установить параметры разрешения уведомлений по умолчанию
- */
- void SETTINGS_SetFlagNotificationDef(void)
- {
- uint8_t i;
- for(i = 0; i < ALL_TRAPS; i++ ) {
- sSettings.sFlagNotification[i] = 1;
- }
- }
- void SETTINGS_SetFTPUpdateDef(void)
- {
- IP4_ADDR(&sSettings.sFTPUpdate.server_ip, 192,168,0,253);
- sSettings.sFTPUpdate.server_port = 21;
- strcpy(&sSettings.sFTPUpdate.remote_path, "BT_6711xx.bin");
- strcpy(&sSettings.sFTPUpdate.user, "anonymous");
- strcpy(&sSettings.sFTPUpdate.pass, "guest");
- }
- void SETTINGS_SetSyslogDef(void)
- {
- sSettings.sSyslog.enabled = false;
- IP4_ADDR(&sSettings.sSyslog.server_ip, 192,168,0,253);
- sSettings.sSyslog.server_port = 514;
- }
- /**
- * @brief Установить значение настроек прозрачного порта по умолчанию
- */
- void SETTINGS_SetPortGwDef(void)
- {
- }
- /**
- * @brief Установить параметры датчиков температуры
- */
- void SETTINGS_SetTempControlDef(void)
- {
- }
- #endif
- /********************************* (C) ROTEK **********************************/
|