max1704x - Driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge¶
- group max1704x
ESP-IDF driver for MAX17043/MAX17044/MAX17048/MAX17049 battery fuel gauge.
Copyright (c) 2022 Joshua Butler, MD, MHI josh.butler929@gmail.com
BSD Licensed as described in the file LICENSE
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.
-
bool reset_indicator¶
-
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.
-
uint8_t rcomp¶
-
struct max1704x_t¶
- #include <max1704x.h>
Device descriptor.
-
MAX1704X_I2C_ADDR¶