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