/********************************* (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. ******************************************************************************* */ #ifdef HARDWARE_BT6703 #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 "mbedtls/certs.h" #include #include #ifdef PRINTF_STDLIB #include #endif #ifdef PRINTF_CUSTOM #include "tinystdio.h" #endif //#define DBG if(0) const char* logsStrShortRu[] = { "Перезагрузка контроллера", "Сброс настроек", "Обновление ПО", "Включение", "Смена пароля", "Сохранение настроек", "Авторизация", "Тест ИБП", "Откл. нагрузки ИБП", "Авария дискр. входа 1", "Состояние выхода 1", "Состояние выхода 2", "Высокая температура", "Низкая температура", "Авария вх. напряжения", "Низкий заряд АКБ", "Авария нагрузки", "Авария связи с ИБП", "Авария отключения АКБ", }; /** * @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 = 24; sSettings.UPS_Setting.ups_power = 1000; sSettings.UPS_Setting.set_data = 0; sSettings.UPS_Setting.life_time = 5; sSettings.UPS_Setting.common_capacity = 9; 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_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; sSettings.sAlarmManager.Temprature_cabinet_range.high = 70.0; sSettings.sAlarmManager.Temprature_cabinet_range.low = -40.0; sSettings.sAlarmManager.Temprature_cabinet_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, "R04ekR4MP2"); break; case 1: default: sSettings.sAuth[user_id].level = USER; strcpy(sSettings.sAuth[user_id].login, "user"); strcpy(sSettings.sAuth[user_id].password, "R03ekR4MP2"); 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) { sSettings.sRelays[0].ro_type_source = CRITICAL; sSettings.sRelays[1].ro_type_source = SNMP_SET; } /** * @brief Установить параметры настроек сухих контактов по умолчанию */ void SETTINGS_SetDINSDef(void) { for(uint8_t i = 0; i < INPUTS_TOTAL_COUNT; i ++) { sSettings.sDINs[i].din_type_act = DI_CONN; memset(sSettings.sDINs[i].name, 0, sizeof(sSettings.sDINs[i].name)); sprintf( sSettings.sDINs[i].name, "Door_%d", (i + 1)); } } /** * @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){ memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt)); memcpy(sSettings.our_srv_crt, (unsigned char *) mbedtls_test_srv_crt, mbedtls_test_srv_crt_len); //memcpy(sSettings.our_srv_key, (unsigned char *) mbedtls_test_srv_key, mbedtls_test_srv_key_len); } /** * @brief Установить значение настроек прозрачного порта по умолчанию */ void SETTINGS_SetPortGwDef(void) { } /** * @brief Установить параметры Telnet */ void SETTINGS_SetTelnetDef(void){ } /** * @brief Установить параметры SSH */ void SETTINGS_SetSSHDef(void){ } /** * @brief Установить параметры списка доверительных хостов */ void SETTINGS_SetWhiteListDef(void){ } /** * @brief Установить параметры разрешения уведомлений по умолчанию */ void SETTINGS_SetFlagNotificationDef(void) { } /** * @brief Установить параметры датчиков температуры */ void SETTINGS_SetTempControlDef(void) { } #endif /********************************* (C) ROTEK **********************************/