/* * charger_control.h * * Created on: May 21, 2023 * Author: MaxMax */ #ifndef INC_CHARGER_CONTROL_H_ #define INC_CHARGER_CONTROL_H_ #include "stm32h7xx_hal.h" #define CURRENT_DAC_ADR 0x58 #define VOLTAGE_DAC_ADR 0x5E #define CHARGER_ADC_ADR 0x90 typedef struct{ uint8_t acfail; uint8_t dcfail; uint8_t cc_status; uint8_t ot_status; uint8_t lim_status; uint16_t voltage; uint16_t current; }ChargerStatusHandleTypeDef; void charger_control_init(I2C_HandleTypeDef* hi2c); ChargerStatusHandleTypeDef charger_control_get_state(); void charger_control_set_current(uint32_t current); void charger_control_set_voltage(uint32_t voltage); void charger_control_enable_charger_relay(); void charger_control_disable_charger_relay(); void charger_control_enable_remote(); void charger_control_disable_remote(); void charger_control_setup_DACs(); #endif /* INC_CHARGER_CONTROL_H_ */