40 lines
935 B
C
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_ */
|