settings_api_bt6703.c 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. /********************************* (C) ROTEK ***********************************
  2. * @module settings_api
  3. * @file settings_api.c
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief Settings
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. #ifdef HARDWARE_BT6703
  13. #include "stm32f4xx.h"
  14. #include "settings_api.h"
  15. #include "common_config.h"
  16. #ifndef BT6702_SERVICE
  17. #include "snmp_api.h"
  18. #include "trap_api.h"
  19. #include "log.h"
  20. #endif
  21. #include "sys_api.h"
  22. #include "main.h"
  23. #include "parameters.h"
  24. #include "mbedtls/certs.h"
  25. #include <string.h>
  26. #include <stdlib.h>
  27. #ifdef PRINTF_STDLIB
  28. #include <stdio.h>
  29. #endif
  30. #ifdef PRINTF_CUSTOM
  31. #include "tinystdio.h"
  32. #endif
  33. //#define DBG if(0)
  34. const char* logsStrShortRu[] =
  35. {
  36. "Перезагрузка контроллера",
  37. "Сброс настроек",
  38. "Обновление ПО",
  39. "Включение",
  40. "Смена пароля",
  41. "Сохранение настроек",
  42. "Авторизация",
  43. "Тест ИБП",
  44. "Откл. нагрузки ИБП",
  45. "Авария дискр. входа 1",
  46. "Состояние выхода 1",
  47. "Состояние выхода 2",
  48. "Высокая температура",
  49. "Низкая температура",
  50. "Авария вх. напряжения",
  51. "Низкий заряд АКБ",
  52. "Авария нагрузки",
  53. "Авария связи с ИБП",
  54. "Авария отключения АКБ",
  55. };
  56. /**
  57. * @brief Установить параметры SNMP по умолчанию
  58. */
  59. void SETTINGS_SetSnmpDef(void)
  60. {
  61. strcpy(sSettings.sSnmp.sysDesc.description, "");
  62. sSettings.sSnmp.sysDesc.len = 0;
  63. strcpy(sSettings.sSnmp.readCommunity, "public");
  64. strcpy(sSettings.sSnmp.writeCommunity, "public");
  65. strcpy(sSettings.sSnmp.sysContact.contact, "");
  66. sSettings.sSnmp.sysContact.len = 0;
  67. strcpy(sSettings.sSnmp.sysName.name, "");
  68. sSettings.sSnmp.sysName.len = 0;
  69. strcpy(sSettings.sSnmp.sysLocation.location, "");
  70. sSettings.sSnmp.sysLocation.len = 0;
  71. strcpy(sSettings.sSnmp.managerIP, "0.0.0.0");
  72. strcpy(sSettings.sSnmp.managerIP2, "0.0.0.0");
  73. strcpy(sSettings.sSnmp.managerIP3, "0.0.0.0");
  74. strcpy(sSettings.sSnmp.managerIP4, "0.0.0.0");
  75. strcpy(sSettings.sSnmp.managerIP5, "0.0.0.0");
  76. }
  77. /**
  78. * @brief Настройки ИБП по умолчанию
  79. */
  80. void SETTINGS_SetUPSSettingsDef(void)
  81. {
  82. sSettings.UPS_Setting.Ucellmin = 1.67;
  83. sSettings.UPS_Setting.Ucellmax = 2.27;
  84. sSettings.UPS_Setting.Uakb = 24;
  85. sSettings.UPS_Setting.ups_power = 1000;
  86. sSettings.UPS_Setting.set_data = 0;
  87. sSettings.UPS_Setting.life_time = 5;
  88. sSettings.UPS_Setting.common_capacity = 9;
  89. sSettings.UPS_Setting.type_ups = ups_kestar;
  90. }
  91. /**
  92. * @brief Установить наcтройки менеджера Аварий по умолчанию
  93. */
  94. void SETTINGS_SetAlarmManagerDef(void)
  95. {
  96. sSettings.sAlarmManager.load_range.high = 70.0;
  97. sSettings.sAlarmManager.load_range.low = 0;
  98. sSettings.sAlarmManager.load_range.hyst = 1;
  99. sSettings.sAlarmManager.ac_output_range.high = 250.0;
  100. sSettings.sAlarmManager.ac_output_range.low = 150.0;
  101. sSettings.sAlarmManager.ac_output_range.hyst = 20.0;
  102. sSettings.sAlarmManager.Temprature_range.high = 70.0;
  103. sSettings.sAlarmManager.Temprature_range.low = -40.0;
  104. sSettings.sAlarmManager.Temprature_range.hyst = 1;
  105. }
  106. /**
  107. * @brief Установить значение сервисных настроек по умолчанию
  108. */
  109. void SETTINGS_SetServiceDef(void)
  110. {
  111. uint8_t user_id;
  112. for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
  113. switch (user_id) {
  114. /* First users in the system is always ADMIN.
  115. * Others are USER */
  116. case 0:
  117. sSettings.sAuth[user_id].level = ADMIN;
  118. strcpy(sSettings.sAuth[user_id].login, "admin");
  119. strcpy(sSettings.sAuth[user_id].password, "R04ekR4MP2");
  120. break;
  121. case 1:
  122. default:
  123. sSettings.sAuth[user_id].level = USER;
  124. strcpy(sSettings.sAuth[user_id].login, "user");
  125. strcpy(sSettings.sAuth[user_id].password, "R03ekR4MP2");
  126. break;
  127. }
  128. }
  129. }
  130. /**
  131. * @brief Установить параметры SNTP по умолчанию
  132. */
  133. void SETTINGS_SetSntpDef(void)
  134. {
  135. sSettings.sSNTP.sntpEnable = true;
  136. strcpy(sSettings.sSNTP.ip, "88.147.254.235");
  137. sSettings.sSNTP.timeZone = 3.0;
  138. strcpy(sSettings.sSNTP.data, "none");
  139. }
  140. /**
  141. * @brief Установить параметры настроек сухих контактов / реле по умолчанию
  142. */
  143. void SETTINGS_SetINOUTSDef(void)
  144. {
  145. sSettings.sInOuts.ro_type_source[0] = CRITICAL;
  146. sSettings.sInOuts.ro_type_source[1] = SNMP_SET;
  147. sSettings.sInOuts.din_type_act[0] = DI_CONN;
  148. }
  149. /**
  150. * @brief Установить параметры RADIUS по умолчанию
  151. */
  152. void SETTINGS_SetRADIUSDef(void)
  153. {
  154. sSettings.sRADIUS.Auth_enable = true;
  155. //sSettings.sRADIUS.RDSEnable = false;
  156. // todo вернуть на значение false
  157. sSettings.sRADIUS.RDSEnable = false;
  158. strcpy(sSettings.sRADIUS.ServerIP, "0.0.0.0");
  159. //strcpy(sSettings.sRADIUS.ServerIP, "192.168.14.234");
  160. sSettings.sRADIUS.port = 1812;
  161. sSettings.sRADIUS.key_access = 123;
  162. strcpy(sSettings.sRADIUS.rds_password, "R02ekR4MP2");
  163. }
  164. /**
  165. * @brief Установить параметры сертификата сервера по умолчанию
  166. */
  167. void SETTINGS_SetSSLcrtDef(void){
  168. memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt));
  169. memcpy(sSettings.our_srv_crt, (unsigned char *) mbedtls_test_srv_crt, mbedtls_test_srv_crt_len);
  170. //memcpy(sSettings.our_srv_key, (unsigned char *) mbedtls_test_srv_key, mbedtls_test_srv_key_len);
  171. }
  172. /**
  173. * @brief Установить значение настроек прозрачного порта по умолчанию
  174. */
  175. void SETTINGS_SetPortGwDef(void)
  176. {
  177. }
  178. /**
  179. * @brief Установить параметры Telnet
  180. */
  181. void SETTINGS_SetTelnetDef(void){
  182. }
  183. /**
  184. * @brief Установить параметры SSH
  185. */
  186. void SETTINGS_SetSSHDef(void){
  187. }
  188. /**
  189. * @brief Установить параметры списка доверительных хостов
  190. */
  191. void SETTINGS_SetWhiteListDef(void){
  192. }
  193. /**
  194. * @brief Установить параметры разрешения уведомлений по умолчанию
  195. */
  196. void SETTINGS_SetFlagNotificationDef(void)
  197. {
  198. }
  199. #endif
  200. /********************************* (C) ROTEK **********************************/