parameters.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module parameters
  3. * @file parameters.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief parameters
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef PARAMETERS_H
  14. #define PARAMETERS_H
  15. #include <stdbool.h>
  16. // ************************************************************************** //
  17. // Параметры UPS
  18. void GetInputFreqStr(char *str, uint8_t *len);
  19. void GetOutputFreqStr(char *str, uint8_t *len);
  20. void GetInputVoltageStr(char *str, uint8_t *len);
  21. void GetOutputVoltageStr(char *str, uint8_t *len);
  22. void GetPowerStr(char *str, uint8_t *len);
  23. void GetBatCapacityStr(char *str, uint8_t *len);
  24. void GetRuntimeStr(char *str, uint8_t *len);
  25. void GetAKBWorktimeStr(char *str, uint8_t *len);
  26. void GetInternalTempStr(char *str, uint8_t *len);
  27. /**
  28. * @brief
  29. */
  30. void GetAlarmMonitorStr(char *str, uint8_t *len);
  31. void GetConnectMonitorStr(char *str, uint8_t *len);
  32. /**
  33. * @brief Режим работы
  34. */
  35. void GetModeStr(char *str, uint8_t *len);
  36. /**
  37. * @brief Режим работы
  38. */
  39. void GetModeEn(char *str, uint8_t *len);
  40. /**
  41. * @brief Индикация аварийных ситуаций
  42. * TODO добавить реальный параметр
  43. */
  44. void GetAlarmStr(char *str, uint8_t *len);
  45. /**
  46. * @brief Индикация аварийных ситуаций
  47. */
  48. void GetUPSAlarmStr(char *str, uint8_t *len);
  49. /**
  50. * @brief Индикация аварийных ситуаций
  51. */
  52. void GetAKBAlarmStr(char *str, uint8_t *len);
  53. /**
  54. * @brief Индикация аварийных ситуаций
  55. */
  56. void GetConnectUPSAlarmStr(char *str, uint8_t *len);
  57. /**
  58. * @brief Индикация аварийных ситуаций
  59. */
  60. void GetUPSModeStr(char *str, uint8_t *len);
  61. /**
  62. * @brief Текущее время ч/м/с
  63. */
  64. void GetCurrentTimeStr(char *str, uint8_t *len);
  65. // ************************************************************************** //
  66. // Параметры даты и времени
  67. /**
  68. * @brief Дата (Ready for PRS!)
  69. */
  70. void GetDateStr(char *str, uint8_t *len);
  71. /**
  72. * @brief Время (Ready for PRS!)
  73. */
  74. void GetTimeStr(char *str, uint8_t *len);
  75. /**
  76. * @brief Время (Ready for PRS!)
  77. */
  78. void GetUnixTimeStr(char *str, uint8_t *len);
  79. // ************************************************************************** //
  80. // Параметры SNTP
  81. /**
  82. * @brief Состояние SNTP (Ready for PRS!)
  83. */
  84. void GetSntpStateStr(char *str, uint8_t *len);
  85. /**
  86. * @brief Состояние SNTP (Ready for PRS!)
  87. */
  88. void GetSntpStateStrRU(char *str, uint8_t *len);
  89. /**
  90. * @brief IP адрес SNTP сервера (Ready for PRS!)
  91. */
  92. void GetSntpServerIpStr(char *str, uint8_t *len);
  93. /**
  94. * @brief Часовой пояс контроллера (Ready for PRS!)
  95. */
  96. void GetSntpTimeZoneStr(char *str, uint8_t *len);
  97. /**
  98. * @brief Дата последней синхронизации SNTP (Ready for PRS!)
  99. */
  100. void GetSntpLastDataStr(char *str, uint8_t *len);
  101. // ************************************************************************** //
  102. // Информация
  103. // ************************************************************************** //
  104. // Настройки аутентификации
  105. void GetUserLogin(uint8_t user_id, char *str, uint8_t *len);
  106. void GetUserPassword(uint8_t user_id, char *str, uint8_t *len);
  107. void GetUserLevel(uint8_t user_id, char *str, uint8_t *len);
  108. void GetUserLevelInt(uint8_t user_id, uint8_t *value);
  109. /**
  110. * @brief Время работы устройства
  111. */
  112. void GetWorkTimeStr(char *str, uint8_t *len);
  113. /**
  114. * @brief Модель устройства
  115. */
  116. void GetModelStr(char *str, uint8_t *len);
  117. /**
  118. * @brief Название устройсва устройства
  119. */
  120. void GetNameDeviceStr(char *str, uint8_t *len);
  121. /**
  122. * @brief Дата производства
  123. */
  124. void GetProductionDataStr(char *str, uint8_t *len);
  125. /**
  126. * @brief Версия ПО
  127. */
  128. void GetVersionStr(char *str, uint8_t *len);
  129. /**
  130. * @brief MAC адрес устройства
  131. */
  132. void GetMacStr(char *str, uint8_t *len);
  133. /**
  134. * @brief Серийный номер устройства
  135. */
  136. void GetSerialNumberStr(char *str, uint8_t *len);
  137. /**
  138. * @brief Владелец устройства
  139. */
  140. void GetOwnerStr(char *str, uint8_t *len);
  141. /**
  142. * @brief Местоположение устройства
  143. */
  144. void GetLocationStr(char *str, uint8_t *len);
  145. /**
  146. * @brief Комментарии
  147. */
  148. void GetCommentsStr(char *str, uint8_t *len);
  149. /**
  150. * @brief Серийный номер UPS
  151. */
  152. void GetUPSSerialStr(char *str, uint8_t *len);
  153. /**
  154. * @brief Модель UPS
  155. */
  156. void GetUPSModelStr(char *str, uint8_t *len);
  157. /**
  158. * @brief Версия UPS ПО
  159. */
  160. void GetUPSVersionStr(char *str, uint8_t *len);
  161. // ************************************************************************** //
  162. // Параметры WEB
  163. /**
  164. * @brief Текущий IP адрес
  165. */
  166. void GetIpStr(char *str, uint8_t *len);
  167. /**
  168. * @brief Текущий шлюз
  169. */
  170. void GetGatewayStr(char *str, uint8_t *len);
  171. /**
  172. * @brief Текущая маска подсети
  173. */
  174. void GetMaskStr(char *str, uint8_t *len);
  175. /**
  176. * @brief Настройка DHCP
  177. */
  178. void GetDhcpStateStr(char *str, uint8_t *len);
  179. /**
  180. * @brief Настройка DHCP
  181. */
  182. void GetDhcpStateUDP(char *str, uint8_t *len);
  183. /**
  184. * @brief Настройка DHCP
  185. */
  186. void GetDhcpStateStrRu(char *str, uint8_t *len);
  187. #ifdef HARDWARE_BT6708
  188. // ************************************************************************** //
  189. // Параметры довверительных хостов
  190. /**
  191. * @brief диапазон доверительных хостов
  192. */
  193. void GetWhiteListSTR(char *str, uint8_t *len, uint8_t num);
  194. /**
  195. * @brief маска диапазона доверительных хостов
  196. */
  197. void GetWhiteListMask(uint32_t *value, uint8_t num);
  198. /**
  199. * @brief ip диапазона доверительных хостов
  200. */
  201. void GetWhiteListIP(uint32_t *value, uint8_t num);
  202. #endif
  203. // ************************************************************************** //
  204. // Параметры SNMP
  205. /**
  206. * @brief Текущее TRAP community
  207. */
  208. void GetTrapCommunity(char *str, uint8_t *len);
  209. /**
  210. * @brief Текущее community для чтения
  211. */
  212. void GetReadCommunity(char *str, uint8_t *len);
  213. /**
  214. * @brief Текущее community для записи
  215. */
  216. void GetWriteCommunity(char *str, uint8_t *len);
  217. /**
  218. * @brief IP SNMP менеджера
  219. */
  220. void GetManagerIp(char *str, uint8_t *len);
  221. void GetManagerIp2(char *str, uint8_t *len);
  222. void GetManagerIp3(char *str, uint8_t *len);
  223. void GetManagerIp4(char *str, uint8_t *len);
  224. void GetManagerIp5(char *str, uint8_t *len);
  225. #ifdef HARDWARE_BT6702
  226. // ************************************************************************** //
  227. // Параметры RADIUS
  228. /**
  229. * @brief Текущий IP адрес
  230. */
  231. void GetRDSIpStr(char *str, uint8_t *len);
  232. /**
  233. * @brief Текущий Порт
  234. */
  235. void GetRDSPortStr(char *str, uint8_t *len);
  236. /**
  237. * @brief Текущий Код access
  238. */
  239. void GetRDSKeyAccesstStr(char *str, uint8_t *len);
  240. /**
  241. * @brief Текущая пароль RADIUS
  242. */
  243. void GetRDSPasswordkStr(char *str, uint8_t *len);
  244. /**
  245. * @brief Настройка вкл/ выкл RADIUS сервера
  246. */
  247. void GetRDSEnableStateStr(char *str, uint8_t *len);
  248. /**
  249. * @brief Настройка вкл/ выкл авторизации
  250. */
  251. void GetAuthEnableStateStr(char *str, uint8_t *len);
  252. #endif
  253. #ifndef HARDWARE_BT6708
  254. // ************************************************************************** //
  255. // Параметры реле/сухих контактов
  256. /**
  257. * @brief Тип действий при срабатывание сухих контактов
  258. */
  259. void GetDINTypeActStr(char *str, uint8_t *len, uint8_t num);
  260. /**
  261. * @brief Состояние сухого контакта
  262. */
  263. void GetDINStatusStr(char *str, uint8_t *len, uint8_t num);
  264. /**
  265. * @brief Состояние сухого контакта
  266. */
  267. void GetDIN0StatusStr(char *str, uint8_t *len);
  268. /**
  269. * @brief Состояние сухого контакта
  270. */
  271. void GetDIN0StatusStrRU(char *str, uint8_t *len);
  272. /**
  273. * @brief Источник срабатывания реле
  274. */
  275. void GetROTypeActStr(char *str, uint8_t *len, uint8_t num);
  276. /**
  277. * @brief Состояние релейного выхода
  278. */
  279. void GetDOUTStatusStr(char *str, uint8_t *len, uint8_t num);
  280. /**
  281. * @brief Состояние релейного выхода
  282. */
  283. void GetDOUTStatusStrRU(char *str, uint8_t *len, uint8_t num);
  284. /**
  285. * @brief Состояние релейного выхода
  286. */
  287. void GetDOUT0StatusStr(char *str, uint8_t *len);
  288. /**
  289. * @brief Состояние релейного выхода
  290. */
  291. void GetDOUT1StatusStr(char *str, uint8_t *len);
  292. #if defined HARDWARE_BT6706 || HARDWARE_BT6708
  293. /**
  294. * @brief Состояние релейного выхода
  295. */
  296. void GetDOUT2StatusStr(char *str, uint8_t *len);
  297. #endif
  298. #endif
  299. #if defined HARDWARE_BT6706 || HARDWARE_BT6708
  300. // ************************************************************************** //
  301. // Параметры Telnet
  302. /**
  303. * @brief Текущий Порт
  304. */
  305. void GetTelnetPortStr(char *str, uint8_t *len);
  306. /**
  307. * @brief Настройка вкл/ выкл Telnet сервера
  308. */
  309. void GetTelnetEnableStateStr(char *str, uint8_t *len);
  310. #endif
  311. // ************************************************************************** //
  312. // Флаги
  313. /**
  314. * @brief Установить признак изменения сетевых параметров
  315. */
  316. void GetWebReinitFlag(char *str, uint8_t *len);
  317. // ************************************************************************** //
  318. // Параметры настройки ИБП
  319. /**
  320. * @brief Минимальное напряжение на ячейках АКБ
  321. */
  322. void GetUPSVoltCellMinStr(char *str, uint8_t *len);
  323. /**
  324. * @brief Максимальное напряжение на ячейках АКБ
  325. */
  326. void GetUPSVoltCellMaxStr(char *str, uint8_t *len);
  327. // ************************************************************************** //
  328. // Параметры менеджера аварийных событий
  329. /**
  330. * @brief Верхняя граница VAC
  331. */
  332. void GetVACAlarmHighRangeStr(char *str, uint8_t *len);
  333. /**
  334. * @brief Нижняя граница VAC
  335. */
  336. void GetVACAlarmLowRangeStr(char *str, uint8_t *len);
  337. /**
  338. * @brief Гистерезис (VAC)
  339. */
  340. void GetVACAlarmHisteStr(char *str, uint8_t *len);
  341. /**
  342. * @brief Верхняя граница температуры
  343. */
  344. void GetTemperatureAlarmHighRangeStr(char *str, uint8_t *len);
  345. /**
  346. * @brief Нижняя граница температуры
  347. */
  348. void GetTemperatureAlarmLowRangeStr(char *str, uint8_t *len);
  349. /**
  350. * @brief Гистерезис (температура)
  351. */
  352. void GetTemperatureAlarmHisteStr(char *str, uint8_t *len);
  353. /**
  354. * @brief Верхняя граница нагрузки
  355. */
  356. void GetLoadAlarmHighRangeStr(char *str, uint8_t *len);
  357. /**
  358. * @brief Гистерезис (нагрузки)
  359. */
  360. void GetLoadAlarmHisteStr(char *str, uint8_t *len);
  361. // ************************************************************************** //
  362. // Установка параметрв
  363. // ************************************************************************** //
  364. /**
  365. * @brief Установить признак обновления ПО.
  366. */
  367. void SetLoadMode(void);
  368. /**
  369. * @brief Установить признак изменения сетевых параметров
  370. */
  371. void SetWebReinitFlag(bool value);
  372. /**
  373. * @brief Установить флаг подтверждения сетевых настроек пользователем
  374. */
  375. void SetConfirmWebParamsFlag(void);
  376. // ************************************************************************** //
  377. // Сетевые параметры
  378. /**
  379. * @brief IP адрес
  380. */
  381. void SetIPStr(char *str);
  382. /**
  383. * @brief Шлюз
  384. */
  385. void SetGatewayStr(char *str);
  386. /**
  387. * @brief Текущая маска подсети
  388. */
  389. void SetMaskStr(char *str);
  390. /**
  391. * @brief Настройка DHCP
  392. */
  393. void SetDhcpStateStr(char *str);
  394. /**
  395. * @brief Настройка DHCP
  396. */
  397. void SetUDPDhcpStateStr(char *str);
  398. #ifdef HARDWARE_BT6708
  399. // ************************************************************************** //
  400. // Параметры довверительных хостов
  401. /**
  402. * @brief диапазон доверительных хостов
  403. */
  404. void SetWhiteListSTR(char *str, uint8_t num);
  405. #endif
  406. // ************************************************************************** //
  407. // Параметры SNMP
  408. /**
  409. * @brief TRAP community
  410. */
  411. void SetTrapCommunity(char *str);
  412. /**
  413. * @brief Community для чтения
  414. */
  415. void SetReadCommunity(char *str);
  416. /**
  417. * @brief Community для записи
  418. */
  419. void SetWriteCommunity(char *str);
  420. /**
  421. * @brief IP SNMP менеджера
  422. */
  423. void SetManagerIp(char *str);
  424. void SetManagerIp2(char *str);
  425. void SetManagerIp3(char *str);
  426. void SetManagerIp4(char *str);
  427. void SetManagerIp5(char *str);
  428. /**
  429. * @brief Название устройсва устройства
  430. */
  431. void SetNameDeviceStr(char *str);
  432. /**
  433. * @brief Установить владельца
  434. */
  435. void SetOwner(char *str);
  436. /**
  437. * @brief Установить местоположение
  438. */
  439. void SetLocation(char *str);
  440. /**
  441. * @brief Установить комментарий
  442. */
  443. void SetComment(char *str);
  444. #ifdef HARDWARE_BT6702
  445. // ************************************************************************** //
  446. // Сетевые параметры RADIUS сервера
  447. /**
  448. * @brief IP адрес
  449. */
  450. void SetRDSIpStr(char *str);
  451. /**
  452. * @brief Порт
  453. */
  454. void SetRDSPortStr(char *str);
  455. /**
  456. * @brief Код access
  457. */
  458. void SetRDSKeyAccesstStr(char *str);
  459. /**
  460. * @brief пароль RADIUS
  461. */
  462. void SetRDSPasswordkStr(char *str);
  463. /**
  464. * @brief Настройка вкл/ выкл RADIUS сервера
  465. */
  466. void SetRDSEnableStateStr(char *str);
  467. /**
  468. * @brief Настройка вкл/ выкл авторизации
  469. */
  470. void SetAuthEnableStateStr(char *str);
  471. #endif
  472. #if defined HARDWARE_BT6706 || HARDWARE_BT6708
  473. // ************************************************************************** //
  474. // Параметры Telnet
  475. /**
  476. * @brief Текущий Порт
  477. */
  478. void SetTelnetPortStr(char *str);
  479. /**
  480. * @brief Настройка вкл/ выкл Telnet сервера
  481. */
  482. void SetTelnetEnableStateStr(char *str);
  483. #endif
  484. // ************************************************************************** //
  485. // Параметры даты и времени
  486. /**
  487. * @brief Дата
  488. */
  489. void SetDateStr(char *str);
  490. /**
  491. * @brief Время
  492. */
  493. void SetTimeStr(char *str);
  494. // ************************************************************************** //
  495. // Параметры SNTP
  496. /**
  497. * @brief Состояние SNTP
  498. */
  499. void SetSntpStateStr(char *str);
  500. /**
  501. * @brief IP адрес SNTP сервера
  502. */
  503. void SetSntpServerIpStr(char *str);
  504. /**
  505. * @brief Часовой пояс контроллера
  506. */
  507. void SetSntpTimeZoneStr(char *str);
  508. #ifndef HARDWARE_BT6708
  509. // ************************************************************************** //
  510. // Параметры реле/сухих контактов
  511. /**
  512. * @brief Тип действий при срабатывание сухих контактов
  513. */
  514. void SetDINTypeActStr(char *str, uint8_t num);
  515. /**
  516. * @brief Источник срабатывания реле
  517. */
  518. void SetROTypeActStr(char *str, uint8_t num);
  519. /**
  520. * @brief
  521. */
  522. void SetROStr(char *str, uint8_t num);
  523. /**
  524. * @brief
  525. */
  526. void SetROInt(uint8_t val, uint8_t num);
  527. #endif
  528. // ************************************************************************** //
  529. // Параметры настройки ИБП
  530. /**
  531. * @brief Минимальное напряжение на ячейках АКБ
  532. */
  533. void SetUPSVoltCellMinStr(char *str);
  534. /**
  535. * @brief Максимальное напряжение на ячейках АКБ
  536. */
  537. void SetUPSVoltCellMaxStr(char *str);
  538. // ************************************************************************** //
  539. // Параметры менеджера аварий
  540. /**
  541. * @brief Верхняя граница VAC
  542. */
  543. void SetVACAlarmHighRangeStr(char *str);
  544. /**
  545. * @brief Нижняя граница VAC
  546. */
  547. void SetVACAlarmLowRangeStr(char *str);
  548. /**
  549. * @brief Гистерезис (VAC)
  550. */
  551. void SetVACAlarmHisteStr(char *str);
  552. /**
  553. * @brief Верхняя граница температуры
  554. */
  555. void SetTemperatureAlarmHighRangeStr(char *str);
  556. /**
  557. * @brief Нижняя граница температуры
  558. */
  559. void SetTemperatureAlarmLowRangeStr(char *str);
  560. /**
  561. * @brief Гистерезис (температура)
  562. */
  563. void SetTemperatureAlarmHisteStr(char *str);
  564. /**
  565. * @brief Верхняя граница нагрузки
  566. */
  567. void SetLoadAlarmHighRangeStr(char *str);
  568. /**
  569. * @brief Гистерезис (нагрузки)
  570. */
  571. void SetLoadAlarmHistStr(char *str);
  572. #endif /* #ifndef PARAMETERS_H */
  573. /********************************* (C) РОТЕК **********************************/