charger/Core/Inc/charger_control.h

40 lines
935 B
C

/*
* 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_ */