lc709203f - Driver for LC709203F battery fuel gauge¶
- group lc709203f
LC709203F Battery Fuel Gauge driver.
Defines
-
LC709203F_REG_BEFORE_RSOC¶
Initialize before RSOC.
-
LC709203F_REG_THERMISTOR_B¶
Read/write thermistor B.
-
LC709203F_REG_INITIAL_RSOC¶
Initialize RSOC calculation.
-
LC709203F_REG_CELL_TEMPERATURE¶
Read/write batt temperature.
-
LC709203F_REG_CELL_VOLTAGE¶
Read batt voltage.
-
LC709203F_REG_CURRENT_DIRECTION¶
Read/write current direction.
-
LC709203F_REG_APA¶
Read/write Adjustment Pack Application.
-
LC709203F_REG_APT¶
Read/write Adjustment Pack Thermistor.
-
LC709203F_REG_RSOC¶
Read state of charge.
-
LC709203F_REG_CELL_ITE¶
Read batt indicator to empty.
-
LC709203F_REG_IC_VERSION¶
Read IC version.
-
LC709203F_REG_CHANGE_PARAMETER¶
Set the battery profile.
-
LC709203F_REG_ALARM_LOW_RSOC¶
Alarm on percent threshold.
-
LC709203F_REG_ALARM_LOW_VOLTAGE¶
Alarm on voltage threshold.
-
LC709203F_REG_IC_POWER_MODE¶
Sets sleep/power mode.
-
LC709203F_REG_STATUS_BIT¶
Temperature obtaining method.
-
LC709203F_REG_NUM_PARAMETER¶
Batt profile code.
Enums
-
enum lc709203f_temp_mode_t¶
Battery temperature source.
Values:
-
enumerator LC709203F_TEMP_MODE_I2C¶
-
enumerator LC709203F_TEMP_MODE_THERMISTOR¶
-
enumerator LC709203F_TEMP_MODE_I2C¶
-
enum lc709203f_power_mode_t¶
Chip power state.
Values:
-
enumerator LC709203F_POWER_MODE_OPERATIONAL¶
-
enumerator LC709203F_POWER_MODE_SLEEP¶
-
enumerator LC709203F_POWER_MODE_OPERATIONAL¶
Functions
-
esp_err_t lc709203f_init_desc(i2c_dev_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)¶
Initialize device descriptor.
- Parameters
dev – [in] Device descriptor
port – [in] I2C port number
sda_gpio – [in] GPIO pin number for SDA
scl_gpio – [in] GPIO pin number for SCL
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_free_desc(i2c_dev_t *dev)¶
Free device descriptor.
- Parameters
dev – [in] Device descriptor
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_before_rsoc(i2c_dev_t *dev)¶
Executes RSOC initialization with sampled maximum voltage when 0xAA55 is set.
- Parameters
dev – [in] Device descriptor
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_initial_rsoc(i2c_dev_t *dev)¶
Executes RSOC initialization when 0xAA55 is set.
- Parameters
dev – [in] Device descriptor
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_alarm_low_rsoc(i2c_dev_t *dev, uint8_t *rsoc)¶
Get alarm low rsoc (% unit)
Note
Disable alarm setting RSOC as 0 (0x0000) Enable alarm setting RSOC in
- Parameters
dev – [in] Device descriptor
rsoc – [out] RSOC value (%)
- Returns
ESP_INVALID_ARG
null dev or rsoc out of range 0-100ESP_OK
on success
-
esp_err_t lc709203f_get_alarm_low_voltage(i2c_dev_t *dev, uint16_t *voltage)¶
Get alarm low voltage (mV unit)
- Parameters
dev – [in] Device descriptor
voltage – [out] Voltage value (mV)
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_apa(i2c_dev_t *dev, uint8_t *apa)¶
Get APA (adjustment pack application)
- Parameters
dev – [in] Device descriptor
apa – [out] Current APA value
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_apt(i2c_dev_t *dev, uint16_t *apt)¶
Get APT (adjustment pack thermistor)
- Parameters
dev – [in] Device descriptor
apt – [out] Current APT value
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_battery_profile(i2c_dev_t *dev, lc709203f_battery_profile_t *profile)¶
Get battery profile.
- Parameters
dev – [in] Device descriptor
profile – [out] Current profile
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_battery_profile_code(i2c_dev_t *dev, uint16_t *code)¶
Get battery profile code.
- Parameters
dev – [in] Device descriptor
code – [out] Current profile code. 0x3001 or 0x0504 only.
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_cell_ite(i2c_dev_t *dev, uint16_t *ite)¶
Get ITE (indicator to empty) “RSOC (%) on 0-1000 scale”.
- Parameters
dev – [in] Device descriptor
ite – [out] Current RSOC value
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_cell_temperature(i2c_dev_t *dev, float *temperature)¶
Get cell temperature in ºK.
Min. unit is 0.1K
Note
Conversion ºK -> ºC = ºK + 273 Conversion ºC -> ºK = ºK + 273 Typical values: 0ºC -> 0x0AAC 25ºC -> 0x0BA6 (default)
- Parameters
dev – [in] Device descriptor
temperature – [out] Current temperature
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_cell_temperature_celsius(i2c_dev_t *dev, float *temperature)¶
Get cell temperature in ºC.
- Parameters
dev – [in] Device descriptor
temperature – [out] Current temperature
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_cell_voltage(i2c_dev_t *dev, uint16_t *voltage)¶
Get cell voltage.
- Parameters
dev – [in] Device descriptor
voltage – [out] Current voltage
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_direction(i2c_dev_t *dev, lc709203f_direction_t *direction)¶
Set current direction.
- Parameters
dev – [in] Device descriptor
direction – [out] Current direction
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_ic_version(i2c_dev_t *dev, uint16_t *ic_version)¶
Get ID number of an IC.
- Parameters
dev – [in] Device descriptor
ic_version – [out] IC ID number
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_power_mode(i2c_dev_t *dev, lc709203f_power_mode_t *mode)¶
Get power mode.
- Parameters
dev – [in] Device descriptor
mode – [out] Power mode
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_rsoc(i2c_dev_t *dev, uint16_t *rsoc)¶
Get RSOC (%) on 0-100 scale.
- Parameters
dev – [in] Device descriptor
rsoc – [out] Current RSOC value
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_temp_mode(i2c_dev_t *dev, lc709203f_temp_mode_t *mode)¶
Get temperature mode.
- Parameters
dev – [in] Device descriptor
mode – [out] Temperature obtaining mode
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_get_thermistor_b(i2c_dev_t *dev, uint16_t *value)¶
Get B-constant of the thermistor to be measured.
- Parameters
dev – [in] Device descriptor
value – [out] B-constant value
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_alarm_low_rsoc(i2c_dev_t *dev, uint8_t rsoc)¶
Set alarm low rsoc (% unit)
Note
Disable alarm setting RSOC as 0 (0x0000) Enable alarm setting RSOC in
- Parameters
dev – [in] Device descriptor
rsoc – [in] RSOC value (%)
- Returns
ESP_INVALID_ARG
null dev or rsoc out of range 0-100ESP_OK
on success
-
esp_err_t lc709203f_set_alarm_low_voltage(i2c_dev_t *dev, uint16_t voltage)¶
Set alarm low voltage (mV unit)
- Parameters
dev – [in] Device descriptor
voltage – [in] Voltage value (mV)
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_apa(i2c_dev_t *dev, uint8_t apa)¶
Set APA (adjustment pack application)
- Parameters
dev – [in] Device descriptor
apa – [in] Value to set
- Returns
ESP_OK
on success
-
esp_err_t lc709203f_set_apt(i2c_dev_t *dev, uint16_t apt)¶
Set APA (adjustment pack thermistor)
- Parameters
dev – [in] Device descriptor
apt – [in] Value to set
- Returns
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_battery_profile(i2c_dev_t *dev, lc709203f_battery_profile_t profile)¶
Set battery profile.
- Parameters
dev – [in] Device descriptor
profile – [in] Current profile
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_cell_temperature(i2c_dev_t *dev, float temperature)¶
Set cell temperature in ºK.
Min. unit is 0.1ºK
Note
Conversion ºK -> ºC = ºK - 273 Conversion ºC -> ºK = ºK + 273 Typical values: 0ºC -> 0x0AAC 25ºC -> 0x0BA6 (default)
- Parameters
dev – [in] Device descriptor
temperature – [in] Temperature to set
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_cell_temperature_celsius(i2c_dev_t *dev, float temperature)¶
Set cell temperature in ºC.
- Parameters
dev – [in] Device descriptor
temperature – [in] Temperature to set
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_current_direction(i2c_dev_t *dev, lc709203f_direction_t direction)¶
Set current direction.
- Parameters
dev – [in] Device descriptor
direction – [in] Current direction
- Returns
ESP_INVALID_ARG
null dev. In I2C mode, temperature not in range 0x09E4-0x0D04 ()ESP_OK
on success
-
esp_err_t lc709203f_set_power_mode(i2c_dev_t *dev, lc709203f_power_mode_t mode)¶
Set power mode.
- Parameters
dev – [in] Device descriptor
mode – [in] Power mode
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
esp_err_t lc709203f_set_temp_mode(i2c_dev_t *dev, lc709203f_temp_mode_t mode)¶
Set temperature mode.
- Parameters
dev – [in] Device descriptor
mode – [in] Temperature obtaining mode
- Returns
ESP_INVALID_ARG
null devESP_OK
on success
-
LC709203F_REG_BEFORE_RSOC¶