| 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 **********************************/
 |