Files
chargeflow/components/config/include/board_config.h

85 lines
1.9 KiB
C

#ifndef BOARD_CONFIG_H_
#define BOARD_CONFIG_H_
#include <stdbool.h>
#include <stdint.h>
#include "hal/adc_types.h"
#include "hal/gpio_types.h"
#include "soc/soc_caps.h"
typedef enum
{
BOARD_CONFIG_ENERGY_METER_NONE,
BOARD_CONFIG_ENERGY_METER_CUR,
BOARD_CONFIG_ENERGY_METER_CUR_VLT
} board_config_energy_meter_t;
typedef enum
{
BOARD_CONFIG_SERIAL_NONE,
BOARD_CONFIG_SERIAL_UART,
BOARD_CONFIG_SERIAL_RS485
} board_config_serial_t;
typedef enum
{
BOARD_CONFIG_PILOT_ADC_EXTERNAL_ADC121 = 0,
BOARD_CONFIG_PILOT_ADC_INTERNAL_ESP32 = 1
} board_config_pilot_adc_source_t;
typedef struct
{
char device_name[32];
bool led_blue : 1;
gpio_num_t led_blue_gpio;
bool led_red : 1;
gpio_num_t led_red_gpio;
bool led_green : 1;
gpio_num_t led_green_gpio;
bool buzzer : 1;
gpio_num_t buzzer_gpio;
gpio_num_t button_wifi_gpio;
gpio_num_t pilot_pwm_gpio;
board_config_pilot_adc_source_t pilot_adc_source;
adc_channel_t pilot_adc_channel;
uint16_t pilot_down_threshold_12;
uint16_t pilot_down_threshold_9;
uint16_t pilot_down_threshold_6;
uint16_t pilot_down_threshold_3;
uint16_t pilot_down_threshold_n12;
bool proximity : 1;
adc_channel_t proximity_adc_channel;
uint16_t proximity_down_threshold_8;
uint16_t proximity_down_threshold_10;
uint16_t proximity_down_threshold_13;
uint16_t proximity_down_threshold_20;
uint16_t proximity_down_threshold_25;
uint16_t proximity_down_threshold_32;
gpio_num_t ac_relay_gpio;
bool socket_lock : 1;
gpio_num_t socket_lock_a_gpio;
gpio_num_t socket_lock_b_gpio;
gpio_num_t socket_lock_detection_gpio;
uint16_t socket_lock_detection_delay;
uint16_t socket_lock_min_break_time;
bool rcm : 1;
gpio_num_t rcm_gpio;
gpio_num_t rcm_test_gpio;
} board_config_t;
extern board_config_t board_config;
void board_config_load();
#endif /* BOARD_CONFIG_H_ */