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