#ifndef BOARD_BT6709_H #define BOARD_BT6709_H #define SERVICE_RS232_UART_TABLE(X) \ X( SERVICE_TXDINT, GPIOD, 5, AF_USART2) \ X( SERVICE_RXDINT, GPIOD, 6, AF_USART2) #define RS232_UART_TABLE(X) \ X( TXDINT, GPIOA, 9, AF_USART1) \ X( RXDINT, GPIOA, 10, AF_USART1) #define SPI2_TABLE(X) \ X( SPI2_MISO, GPIOB, 14, AF_SPI2) \ X( SPI2_MOSI, GPIOB, 15, AF_SPI2) \ X( SPI2_SCK, GPIOB, 10, AF_SPI2) \ X( SPI2_NSS, GPIOB, 9, GPIO_OUT | GPIO_SET) #define MCU_PERIPHERALS(X) \ SERVICE_RS232_UART_TABLE(X)\ RS232_UART_TABLE(X) \ SPI2_TABLE(X) #define LEDS(X) \ X( LED_INIT_R, GPIOA, 4, GPIO_OUT | GPIO_INV) \ X( LED_INIT_G, GPIOA, 3, GPIO_OUT | GPIO_INV) \ X( LED_MAJOR_R, GPIOA, 5, GPIO_OUT | GPIO_INV) \ X( LED_MINOR_G, GPIOE, 11, GPIO_OUT | GPIO_INV) \ X( LED_MINOR_R, GPIOE, 12, GPIO_OUT | GPIO_INV) #define JUMPERS(X) \ X( MODE_JUMPER, GPIOE, 6, GPIO_IN_PU | GPIO_INV) #define BUTTONS(X) \ X( KEY_DEF, GPIOE, 7, GPIO_IN )//| GPIO_INV #define WDG_PIN(X) \ X( _WDG, GPIOE, 15, GPIO_OUT) #define GPIO_TABLE(X) \ MCU_PERIPHERALS(X) \ LEDS(X) \ JUMPERS(X) \ BUTTONS(X) \ WDG_PIN(X) /** * @brief Маркер ревизии платы для валидации *.bin файла * */ #define HW_REV "BT-6709" /** * @brief Версия прошивки */ #define VERSION "1.2" #define RTC_ENABLE //RTC clock #define LED_ENABLE //LED индикация #define BUTTON_ENABLE //Кнопки #define NET_ENABLE //Ethernet сеть #define HTTP_SERVER_ENABLE //HTTP сервер #define SNMP_ENABLE //SNMP протокол #define NOTIFICATION_CONTROL_ENABLE //Управление уведомлениями #define WHITELIST_ENABLE //Белый список #define TELNET_ENABLE //Telnet сервер #define SSH_ENABLE //SSH сервер #define UPS_ENABLE //UPS //#define DEBUG_FREERTOS //Мониторинг FreeRtos #define SETTINGS_TABLE \ XSETTING( SNMP_t, sSnmp, SETTINGS_SetSnmpDef, ALL_DEFAULT ) \ XSETTING( AUTH_t, sAuth[MAX_WEB_USERS], SETTINGS_SetServiceDef, PART_DEFAULT_2 ) \ XSETTING( SNTP_t, sSNTP, SETTINGS_SetSntpDef, ALL_DEFAULT ) \ XSETTING( UPS_Setting_t, UPS_Setting, SETTINGS_SetUPSSettingsDef, ALL_DEFAULT ) \ XSETTING( ALARM_MNGR_t, sAlarmManager, SETTINGS_SetAlarmManagerDef, ALL_DEFAULT ) \ XSETTING( TELNET_t, sTelnet, SETTINGS_SetTelnetDef, PART_DEFAULT_1 ) \ XSETTING( WHITE_LIST_t, sWhiteList[MAX_WHITE_LIST], SETTINGS_SetWhiteListDef, ALL_DEFAULT ) \ XSETTING( WHITE_LIST_t, sWhiteListTemp[MAX_WHITE_LIST], SETTINGS_SetWhiteListDef, ALL_DEFAULT ) \ XSETTING( SSH_t, sSSH, SETTINGS_SetSSHDef, PART_DEFAULT_1 ) \ XSETTING( uint8_t, sFlagNotification[ALL_TRAPS], SETTINGS_SetFlagNotificationDef, ALL_DEFAULT ) \ #define SNMP_DEV_ROOT_OID 8 #define MAX_IRQ_HANDLERS 4 #define WEB_SETTINGS_TAGS_TABLE \ XJSON_SETTINGS_TAG("read_community", GetReadCommunity, SetReadCommunity) \ XJSON_SETTINGS_TAG("write_community", GetWriteCommunity, SetWriteCommunity) \ XJSON_SETTINGS_TAG("managerIP", GetManagerIp, SetManagerIp) \ XJSON_SETTINGS_TAG("managerIP2", GetManagerIp2, SetManagerIp2) \ XJSON_SETTINGS_TAG("managerIP3", GetManagerIp3, SetManagerIp3) \ XJSON_SETTINGS_TAG("managerIP4", GetManagerIp4, SetManagerIp4) \ XJSON_SETTINGS_TAG("managerIP5", GetManagerIp5, SetManagerIp5) \ XJSON_SETTINGS_TAG("ipaddr", GetIpStr, SetIPStr) \ XJSON_SETTINGS_TAG("gw", GetGatewayStr, SetGatewayStr) \ XJSON_SETTINGS_TAG("mask", GetMaskStr, SetMaskStr) \ XJSON_SETTINGS_TAG("dhcp", GetDhcpStateStr, SetDhcpStateStr) \ XJSON_SETTINGS_TAG("tn_port", GetTelnetPortStr, SetTelnetPortStr) \ XJSON_SETTINGS_TAG("tn_enabled", GetTelnetEnableStateStr, SetTelnetEnableStateStr) \ XJSON_SETTINGS_TAG("ssh_port", GetSSHPortStr, SetSSHPortStr) \ XJSON_SETTINGS_TAG("ssh_enabled", GetSSHEnableStateStr, SetSSHEnableStateStr) \ XJSON_SETTINGS_TAG("wtl_ip1", GetWhiteList1STR, SetWhiteList1STR) \ XJSON_SETTINGS_TAG("wtl_ip2", GetWhiteList2STR, SetWhiteList2STR) \ XJSON_SETTINGS_TAG("wtl_ip3", GetWhiteList3STR, SetWhiteList3STR) \ XJSON_SETTINGS_TAG("wtl_ip4", GetWhiteList4STR, SetWhiteList4STR) \ XJSON_SETTINGS_TAG("wtl_ip5", GetWhiteList5STR, SetWhiteList5STR) \ XJSON_SETTINGS_TAG("date", GetDateStr, SetDateStr) \ XJSON_SETTINGS_TAG("time", GetTimeStr, SetTimeWebStr) \ XJSON_SETTINGS_TAG("ntp", GetSntpStateStr, SetSntpStateStr) \ XJSON_SETTINGS_TAG("ntpservip", GetSntpServerIpStr, SetSntpServerIpStr) \ XJSON_SETTINGS_TAG("utc", GetSntpTimeZoneStr, SetSntpTimeZoneStr) \ XJSON_SETTINGS_TAG("utm", GetUnixTimeStr, SetEmptyFuncStr) \ XJSON_SETTINGS_TAG("lastsynctime", GetSntpLastDataStr, SetEmptyFuncStr) \ XJSON_SETTINGS_TAG("ups_cell_min", GetUPSVoltCellMinStr, SetUPSVoltCellMinStr) \ XJSON_SETTINGS_TAG("ups_cell_max", GetUPSVoltCellMaxStr, SetUPSVoltCellMaxStr) \ XJSON_SETTINGS_TAG("bat_prod", GetDataSetAKBStr, SetDataSetAKBStr) \ XJSON_SETTINGS_TAG("bat_exp", GetLifeTimeAKBStr, SetLifeTimeAKBStr) \ XJSON_SETTINGS_TAG("bat_cap", GetCapacityNominalAKBStr, SetCapacityNominalAKBStr) \ XJSON_SETTINGS_TAG("bat_charge", GetVoltageAKBNominalStr, SetVoltageAKBNominalStr) \ XJSON_SETTINGS_TAG("ups_max_power", GetUPSPowerStr, SetUPSPowerStr) \ XJSON_SETTINGS_TAG("mainvolt_high", GetVACAlarmHighRangeStr, SetVACAlarmHighRangeStr) \ XJSON_SETTINGS_TAG("mainvolt_low", GetVACAlarmLowRangeStr, SetVACAlarmLowRangeStr) \ XJSON_SETTINGS_TAG("mainvolt_hist", GetVACAlarmHisteStr, SetVACAlarmHisteStr) \ XJSON_SETTINGS_TAG("temp_high", GetTemperatureAlarmHighRangeStr, SetTemperatureAlarmHighRangeStr) \ XJSON_SETTINGS_TAG("temp_low", GetTemperatureAlarmLowRangeStr, SetTemperatureAlarmLowRangeStr) \ XJSON_SETTINGS_TAG("temp_hist", GetTemperatureAlarmHisteStr, SetTemperatureAlarmHisteStr) \ XJSON_SETTINGS_TAG("loadvolt_high", GetLoadAlarmHighRangeStr, SetLoadAlarmHighRangeStr) \ XJSON_SETTINGS_TAG("loadvolt_hist", GetLoadAlarmHisteStr, SetLoadAlarmHistStr) \ XJSON_SETTINGS_TAG("netsettings_changed",GetWebReinitFlag, SetEmptyFuncStr) \ #define WEB_PARAMS_TAGS_TABLE \ XJSON_PARAMS_TAG("AC", GetInputVoltageStr) \ XJSON_PARAMS_TAG("DC", GetOutputVoltageStr) \ XJSON_PARAMS_TAG("in_freq", GetInputFreqStr) \ XJSON_PARAMS_TAG("out_freq", GetOutputFreqStr) \ XJSON_PARAMS_TAG("pwr", GetPowerStr) \ XJSON_PARAMS_TAG("bat_rem_cap", GetBatCapacityStr) \ XJSON_PARAMS_TAG("inner_temp", GetInternalTempStr) \ XJSON_PARAMS_TAG("bat_time_left", GetRuntimeStr) \ XJSON_PARAMS_TAG("in_cur", GetInputCurrentStr) \ XJSON_PARAMS_TAG("out_cur", GetOutputCurrentStr) \ XJSON_PARAMS_TAG("bat_volt", GetVoltageAKBtStr) \ XJSON_PARAMS_TAG("bat_cap", GetCapacityNominalAKBStr) \ XJSON_PARAMS_TAG("bat_exp", GetDataNextChangeAKBStrRU) \ XJSON_PARAMS_TAG("m_alarm", GetAlarmMonitorStr) \ XJSON_PARAMS_TAG("u_alarm", GetAlarmStr) \ XJSON_PARAMS_TAG("netsettings_changed",GetWebReinitFlag) \ #define TRAPS_TABLE \ XTRAP(FW_VERSION_UPDATE, 1, true, GetVersionStr) \ XTRAP(FW_VERSION_UPDATED, 1, true, GetVersionStr) \ XTRAP(DEVICE_RESTORED, 1, true, GetVersionStr) \ XTRAP(BATTERY_HIGH_TEMPERATURE_NORM, 9, true, GetInternalTempStr) \ XTRAP(BATTERY_HIGH_TEMPERATURE_ALARM, 9, true, GetInternalTempStr) \ XTRAP(LINE_ALARM, 11, true, GetInputVoltageStr) \ XTRAP(LINE_NORM, 11, true, GetInputVoltageStr) \ XTRAP(LOW_BAT_ALARM, 14, true, GetBatCapacityStr) \ XTRAP(LOW_BAT_NORM, 14, true, GetBatCapacityStr) \ XTRAP(POWER_ALARM, 13, true, GetPowerStr) \ XTRAP(POWER_NORM, 13, true, GetPowerStr) \ XTRAP(CONNECT_MONITOR_ALARM, 16, true, GetConnectMonitorStr) \ XTRAP(CONNECT_MONITOR_NORM, 16, true, GetConnectMonitorStr) \ XTRAP(BATTERY_CONNECT_ALARM, 14, true, GetBatCapacityStr) \ XTRAP(BATTERY_CONNECT_NORM, 14, true, GetBatCapacityStr) \ XTRAP(BATTERY_LOW_TEMPERATURE_NORM, 9, true, GetInternalTempStr) \ XTRAP(BATTERY_LOW_TEMPERATURE_ALARM, 9, true, GetInternalTempStr) \ XTRAP(BATTERY_CHANGE_ALARM, 49, true, GetDataNextChangeAKBStr) \ XTRAP(BATTERY_CHANGE_MORM, 49, true, GetDataNextChangeAKBStr) \ #if 0 const char* logsStrShortRu[] = { "Перезагрузка контроллера", "Сброс настроек", "Обновление ПО", "Включение", "Смена пароля", "Сохранение настроек", "Авторизация (Telnet)", "Авторизация (SSH)", "Авторизация", "Тест ИБП", "Откл. нагрузки ИБП", "Низкое вых. напряжение", "Высокое вых. напряжение", "Высокая температура", "Низкая температура", "Авария вх. напряжения", "Низкий заряд АКБ", "Авария нагрузки", "Авария связи с ИБП", "Авария отключения АКБ", "Замена АКБ", }; #endif #endif /* BOARD_PRS_H */