max1704x: Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge
Defines
- MAX1704X_I2C_ADDR
Functions
- esp_err_t max1704x_init_desc(max1704x_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port
sda_gpio – SDA GPIO
scl_gpio – SCL GPIO
- Returns:
ESP_OK
on success
- esp_err_t max1704x_free_desc(max1704x_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t max1704x_quickstart(max1704x_t *dev)
Quickstart battery fuel gauge.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_voltage(max1704x_t *dev, float *voltage)
Get battery voltage.
- Parameters:
dev – Device descriptor
voltage – Battery voltage
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_soc(max1704x_t *dev, float *soc)
Get state of charge.
- Parameters:
dev – Device descriptor
soc – State of charge
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_crate(max1704x_t *dev, float *crate)
Get rate of battery charge or discharge.
- Parameters:
dev – Device descriptor
crate – Rate of charge or discharge
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_version(max1704x_t *dev, uint16_t *version)
Get the production version of the chip.
- Parameters:
dev – Device descriptor
version – Production version
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_config(max1704x_t *dev)
Get the configuration register.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t max1704x_set_config(max1704x_t *dev, max1704x_config_t *config)
Set the configuration register.
- Parameters:
dev – Device descriptor
config – Configuration register
- Returns:
ESP_OK
on success
- esp_err_t max1704x_get_status(max1704x_t *dev)
Get the status register.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
- esp_err_t max1704x_set_status(max1704x_t *dev, max1704x_status_t *status)
Set the status register.
Note
Use this function to clear alert flags after servicing the alert
- Parameters:
dev – Device descriptor
status – Status register
- Returns:
ESP_OK
on success
- struct max1704x_status_t
#include <max1704x.h>Alert Status structure.
Public Members
- bool reset_indicator
Reset indicator.
- bool voltage_high
Voltage high alert.
- bool voltage_low
Voltage low alert.
- bool voltage_reset
Voltage reset alert.
- bool soc_low
SOC low alert, set when SOC cross empty_alert_thresh.
- bool soc_change
SOC change alert, set when SOC change is at least 1%.
- bool vreset_alert
Set to enable voltage reset alert under conditions specified in the valert register.
- struct max1704x_config_t
#include <max1704x.h>MAX1704X configuration structure.
Public Members
- uint8_t rcomp
RCOMP register value - default 0x97.
- bool sleep_mode
Sleep mode - set to true to enter sleep mode.
- bool soc_change_alert
SOC change alert - enable/disable SOC change alert.
- bool alert_status
Alert status - read to check if alert has been triggered.
- uint8_t empty_alert_thresh
Empty alert threshold - default 0x1C (4%, 32 - ATHD)
- uint8_t active_threshold
Exits hibernation when IOCV-CELLI above this threshold.
- uint8_t hibernate_threshold
Enters Hibernation when CRATE falls below this threshold.
- struct max1704x_t
#include <max1704x.h>Device descriptor.
Public Members
- i2c_dev_t i2c_dev
- max1704x_model_t model
- max1704x_config_t config
- max1704x_status_t status