board_bt6703.h 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. #ifndef BOARD_BT6703_H
  2. #define BOARD_BT6703_H
  3. #define SERVICE_RS232_UART_TABLE(X) \
  4. X( SERVICE_TXDINT, GPIOD, 5, AF_USART2) \
  5. X( SERVICE_RXDINT, GPIOD, 6, AF_USART2)
  6. #define RS232_UART_TABLE(X) \
  7. X( TXDINT, GPIOA, 9, AF_USART1) \
  8. X( RXDINT, GPIOA, 10, AF_USART1)
  9. #define SPI2_TABLE(X) \
  10. X( SPI2_MISO, GPIOB, 14, AF_SPI2) \
  11. X( SPI2_MOSI, GPIOB, 15, AF_SPI2) \
  12. X( SPI2_SCK, GPIOB, 10, AF_SPI2) \
  13. X( SPI2_NSS, GPIOB, 9, GPIO_OUT | GPIO_SET)
  14. #define MCU_PERIPHERALS(X) \
  15. SERVICE_RS232_UART_TABLE(X)\
  16. RS232_UART_TABLE(X) \
  17. SPI2_TABLE(X)
  18. #define DI_TABLE(X) \
  19. X( DIN1, GPIOA, 0, GPIO_IN)
  20. #define RELAYS(X) \
  21. X( DOUT1, GPIOE, 4, GPIO_OUT)\
  22. X( DOUT2, GPIOE, 5, GPIO_OUT)
  23. #define LEDS(X) \
  24. X( LED_INIT_R, GPIOA, 4, GPIO_OUT | GPIO_INV) \
  25. X( LED_INIT_G, GPIOA, 3, GPIO_OUT | GPIO_INV) \
  26. X( LED_MAJOR_R, GPIOA, 5, GPIO_OUT | GPIO_INV) \
  27. X( LED_MINOR_G, GPIOE, 11, GPIO_OUT | GPIO_INV) \
  28. X( LED_MINOR_R, GPIOE, 12, GPIO_OUT | GPIO_INV)
  29. #define JUMPERS(X) \
  30. X( MODE_JUMPER, GPIOE, 6, GPIO_IN_PU | GPIO_INV)
  31. #define BUTTONS(X) \
  32. X( KEY_DEF, GPIOE, 7, GPIO_IN )//| GPIO_INV
  33. #define WDG_PIN(X) \
  34. X( _WDG, GPIOE, 15, GPIO_OUT)
  35. #define GPIO_TABLE(X) \
  36. MCU_PERIPHERALS(X) \
  37. DI_TABLE(X) \
  38. RELAYS(X) \
  39. LEDS(X) \
  40. JUMPERS(X) \
  41. BUTTONS(X) \
  42. WDG_PIN(X)
  43. /**
  44. * @brief Маркер ревизии платы для валидации *.bin файла
  45. *
  46. */
  47. #define HW_REV "BT-6703"
  48. /**
  49. * @brief Версия прошивки
  50. */
  51. #define VERSION "1.0"
  52. #define RTC_ENABLE //RTC clock
  53. #define LED_ENABLE //LED индикация
  54. #define BUTTON_ENABLE //Кнопки
  55. #define INOUTS_ENABLE //Входы/выходы
  56. #define NET_ENABLE //Ethernet сеть
  57. #define SSL_SERVER_ENABLE //HTTPS сервер
  58. #define RADIUS_SERVER_ENABLE //RADIUS сервер
  59. #define SNMP_ENABLE //SNMP протокол
  60. #define UPS_ENABLE //UPS
  61. //#define DEBUG_FREERTOS //Мониторинг FreeRtos
  62. #define SETTINGS_TABLE \
  63. XSETTING( SNMP_t, sSnmp, SETTINGS_SetSnmpDef, ALL_DEFAULT ) \
  64. XSETTING( AUTH_t, sAuth[MAX_WEB_USERS], SETTINGS_SetServiceDef, PART_DEFAULT_2 ) \
  65. XSETTING( SNTP_t, sSNTP, SETTINGS_SetSntpDef, ALL_DEFAULT ) \
  66. XSETTING( INOUTS_t, sInOuts, SETTINGS_SetINOUTSDef, ALL_DEFAULT ) \
  67. XSETTING( UPS_Setting_t, UPS_Setting, SETTINGS_SetUPSSettingsDef, ALL_DEFAULT ) \
  68. XSETTING( ALARM_MNGR_t, sAlarmManager, SETTINGS_SetAlarmManagerDef, ALL_DEFAULT ) \
  69. XSETTING( RADIUS_t, sRADIUS, SETTINGS_SetRADIUSDef, PART_DEFAULT_1 ) \
  70. XSETTING( char, our_srv_crt[1705], SETTINGS_SetSSLcrtDef, PART_DEFAULT_1 ) \
  71. #define SNMP_DEV_ROOT_OID 6
  72. #define MAX_IRQ_HANDLERS 4
  73. #define WEB_SETTINGS_TAGS_TABLE \
  74. XJSON_SETTINGS_TAG("read_community", GetReadCommunity, SetReadCommunity) \
  75. XJSON_SETTINGS_TAG("write_community", GetWriteCommunity, SetWriteCommunity) \
  76. XJSON_SETTINGS_TAG("managerIP", GetManagerIp, SetManagerIp) \
  77. XJSON_SETTINGS_TAG("managerIP2", GetManagerIp2, SetManagerIp2) \
  78. XJSON_SETTINGS_TAG("managerIP3", GetManagerIp3, SetManagerIp3) \
  79. XJSON_SETTINGS_TAG("managerIP4", GetManagerIp4, SetManagerIp4) \
  80. XJSON_SETTINGS_TAG("managerIP5", GetManagerIp5, SetManagerIp5) \
  81. XJSON_SETTINGS_TAG("di1", GetDIN1TypeActStr, SetDIN1TypeActStr) \
  82. XJSON_SETTINGS_TAG("ro1", GetRO0TypeActStr, SetRO1TypeActStr) \
  83. XJSON_SETTINGS_TAG("ro2", GetRO1TypeActStr, SetRO2TypeActStr) \
  84. XJSON_SETTINGS_TAG("ipaddr", GetIpStr, SetIPStr) \
  85. XJSON_SETTINGS_TAG("gw", GetGatewayStr, SetGatewayStr) \
  86. XJSON_SETTINGS_TAG("mask", GetMaskStr, SetMaskStr) \
  87. XJSON_SETTINGS_TAG("dhcp", GetDhcpStateStr, SetDhcpStateStr) \
  88. XJSON_SETTINGS_TAG("swauth", GetAuthEnableStateStr, SetAuthEnableStateStr) \
  89. XJSON_SETTINGS_TAG("rs_server", GetRDSIpStr, SetRDSIpStr) \
  90. XJSON_SETTINGS_TAG("rs_port", GetRDSPortStr, SetRDSPortStr) \
  91. XJSON_SETTINGS_TAG("rs_pwd", GetRDSPasswordkStr, SetRDSPasswordkStr) \
  92. XJSON_SETTINGS_TAG("rs_key", GetRDSKeyAccesstStr, SetRDSKeyAccesstStr) \
  93. XJSON_SETTINGS_TAG("rs_enabled", GetRDSEnableStateStr, SetRDSEnableStateStr) \
  94. XJSON_SETTINGS_TAG("date", GetDateStr, SetDateStr) \
  95. XJSON_SETTINGS_TAG("time", GetTimeStr, SetTimeWebStr) \
  96. XJSON_SETTINGS_TAG("ntp", GetSntpStateStr, SetSntpStateStr) \
  97. XJSON_SETTINGS_TAG("ntpservip", GetSntpServerIpStr, SetSntpServerIpStr) \
  98. XJSON_SETTINGS_TAG("utc", GetSntpTimeZoneStr, SetSntpTimeZoneStr) \
  99. XJSON_SETTINGS_TAG("utm", GetUnixTimeStr, SetEmptyFuncStr) \
  100. XJSON_SETTINGS_TAG("lastsynctime", GetSntpLastDataStr, SetEmptyFuncStr) \
  101. XJSON_SETTINGS_TAG("ups_cell_min", GetUPSVoltCellMinStr, SetUPSVoltCellMinStr) \
  102. XJSON_SETTINGS_TAG("ups_cell_max", GetUPSVoltCellMaxStr, SetUPSVoltCellMaxStr) \
  103. XJSON_SETTINGS_TAG("temp_high", GetTemperatureAlarmHighRangeStr, SetTemperatureAlarmHighRangeStr) \
  104. XJSON_SETTINGS_TAG("temp_low", GetTemperatureAlarmLowRangeStr, SetTemperatureAlarmLowRangeStr) \
  105. XJSON_SETTINGS_TAG("temp_hist", GetTemperatureAlarmHisteStr, SetTemperatureAlarmHisteStr) \
  106. XJSON_SETTINGS_TAG("loadvolt_high", GetLoadAlarmHighRangeStr, SetLoadAlarmHighRangeStr) \
  107. XJSON_SETTINGS_TAG("loadvolt_hist", GetLoadAlarmHisteStr, SetLoadAlarmHistStr) \
  108. XJSON_SETTINGS_TAG("netsettings_changed",GetWebReinitFlag, SetEmptyFuncStr) \
  109. #define WEB_PARAMS_TAGS_TABLE \
  110. XJSON_PARAMS_TAG("AC", GetInputVoltageStr) \
  111. XJSON_PARAMS_TAG("DC", GetOutputVoltageStr) \
  112. XJSON_PARAMS_TAG("in_freq", GetInputFreqStr) \
  113. XJSON_PARAMS_TAG("out_freq", GetOutputFreqStr) \
  114. XJSON_PARAMS_TAG("pwr", GetPowerStr) \
  115. XJSON_PARAMS_TAG("bat_rem_cap", GetBatCapacityStr) \
  116. XJSON_PARAMS_TAG("inner_temp", GetInternalTempStr) \
  117. XJSON_PARAMS_TAG("bat_time_left", GetRuntimeStr) \
  118. XJSON_PARAMS_TAG("di1", GetDIN0StatusStr) \
  119. XJSON_PARAMS_TAG("ro1", GetDOUT0StatusStr) \
  120. XJSON_PARAMS_TAG("ro2", GetDOUT1StatusStr) \
  121. XJSON_PARAMS_TAG("m_alarm", GetAlarmMonitorStr) \
  122. XJSON_PARAMS_TAG("u_alarm", GetAlarmStr) \
  123. XJSON_PARAMS_TAG("netsettings_changed",GetWebReinitFlag) \
  124. #define TRAPS_TABLE \
  125. XTRAP(FW_VERSION_UPDATE, 1, true, GetVersionStr) \
  126. XTRAP(FW_VERSION_UPDATED, 1, true, GetVersionStr) \
  127. XTRAP(DEVICE_RESTORED, 1, true, GetVersionStr) \
  128. XTRAP(DI0_NORM, 9, true, GetDIN0StatusStr) \
  129. XTRAP(DI0_ALARM, 9, true, GetDIN0StatusStr) \
  130. XTRAP(DO0_TOGGLED, 5, true, GetDOUT0StatusStr) \
  131. XTRAP(DO1_TOGGLED, 6, true, GetDOUT1StatusStr) \
  132. XTRAP(BATTERY_HIGH_TEMPERATURE_NORM, 10, true, GetInternalTempStr) \
  133. XTRAP(BATTERY_HIGH_TEMPERATURE_ALARM, 10, true, GetInternalTempStr) \
  134. XTRAP(LINE_ALARM, 12, true, GetInputVoltageStr) \
  135. XTRAP(LINE_NORM, 12, true, GetInputVoltageStr) \
  136. XTRAP(LOW_BAT_ALARM, 15, true, GetBatCapacityStr) \
  137. XTRAP(LOW_BAT_NORM, 15, true, GetBatCapacityStr) \
  138. XTRAP(POWER_ALARM, 14, true, GetPowerStr) \
  139. XTRAP(POWER_NORM, 14, true, GetPowerStr) \
  140. XTRAP(CONNECT_MONITOR_ALARM, 17, true, GetConnectMonitorStr) \
  141. XTRAP(CONNECT_MONITOR_NORM, 17, true, GetConnectMonitorStr) \
  142. XTRAP(BATTERY_CONNECT_ALARM, 15, true, GetBatCapacityStr) \
  143. XTRAP(BATTERY_CONNECT_NORM, 15, true, GetBatCapacityStr) \
  144. XTRAP(BATTERY_LOW_TEMPERATURE_NORM, 10, true, GetInternalTempStr) \
  145. XTRAP(BATTERY_LOW_TEMPERATURE_ALARM, 10, true, GetInternalTempStr) \
  146. #if 0
  147. const char* logsStrShortRu[] =
  148. {
  149. "Перезагрузка контроллера",
  150. "Сброс настроек",
  151. "Обновление ПО",
  152. "Включение",
  153. "Смена пароля",
  154. "Сохранение настроек",
  155. "Авторизация",
  156. "Тест ИБП",
  157. "Откл. нагрузки ИБП",
  158. "Авария дискр. входа 1",
  159. "Состояние выхода 1",
  160. "Состояние выхода 2",
  161. "Высокая температура",
  162. "Низкая температура",
  163. "Авария вх. напряжения",
  164. "Низкий заряд АКБ",
  165. "Авария нагрузки",
  166. "Авария связи с ИБП",
  167. "Авария отключения АКБ",
  168. };
  169. #endif
  170. #endif /* BOARD_PRS_H */