39    DISCHARGE_MODE  = 0xffff
 
 
  120#define LC709203F_REG_CELL_VOLTAGE      0x09         
  121#define LC709203F_REG_RSOC              0x0d         
  122#define LC709203F_REG_ITE               0x0f         
  123#define LC709203F_REG_ID                0x11         
  124#define LC709203F_REG_CELL_TEMP         0x08         
  125#define LC709203F_REG_STATUS            0x16         
  126#define LC709203F_REG_POWER_MODE        0x15         
  127#define LC709203F_REG_ALARM_VOLTAGE     0x14         
  128#define LC709203F_REG_ALARM_RSOC        0x13         
  129#define LC709203F_REG_CHANGE_PARAMETER  0x12         
  130#define LC709203F_REG_APT               0x0c         
  131#define LC709203F_REG_APA               0x0b         
  132#define LC709203F_REG_CURRENT_DIRECTION 0x0a         
  133#define LC709203F_REG_THERMISTOR        0x06         
  134#define LC709203F_REG_BEFORE_RSOC       0x04         
  135#define LC709203F_REG_INITIAL_RSOC      0x07         
  138#define LC709203F_CRC_POLYNOMIAL        0x07         
Low-level GPIO peripheral driver interface definitions.
 
lc709203f_temp_obtaining_mode_t lc709203f_get_status_bit(const lc709203f_t *dev)
reads status bit register (Temperature obtaining mode)
 
void lc709203f_set_power_mode(const lc709203f_t *dev, const lc709203f_power_mode_t value)
Sets power mode.
 
lc709203f_current_direction_t lc709203f_get_current_direction(const lc709203f_t *dev)
reads Current Direction Register
 
lc709203f_current_direction_t
Current direction modes.
 
void(* lc709203f_cb_t)(void *arg)
Typedef for the Callback function.
 
void lc709203f_set_rsoc_before(const lc709203f_t *dev)
Executes RSOC initialization with sampled maximum voltage.
 
int16_t lc709203f_get_apt(const lc709203f_t *dev)
reads APT (Adjustment Pack Thermistor) value to adjust temperature measurement delay timing.
 
int16_t lc709203f_get_thermistor_b(const lc709203f_t *dev)
reads Thermistor-B register (Thermistor B constant to be measured)
 
void lc709203f_set_alarm_low_cell_voltage(const lc709203f_t *dev, const unsigned int value)
Sets threshold for low cell voltage alert.
 
int16_t lc709203f_get_apa(const lc709203f_t *dev)
reads APA (Adjustment Pack Application) in 1mOhm steps value to adjust temperature measurement delay ...
 
int8_t lc709203f_set_cell_temp(const lc709203f_t *dev, const unsigned int value)
Sets cell temperature in I2C-mode.
 
void lc709203f_set_current_direction(const lc709203f_t *dev, const lc709203f_current_direction_t direction)
Sets current direction.
 
int16_t lc709203f_get_alarm_low_rsoc(const lc709203f_t *dev)
reads Alarm Low RSOC Register
 
int lc709203f_init(lc709203f_t *dev, const lc709203f_params_t *params)
initializes the sensor and i2c
 
void lc709203f_set_apa(const lc709203f_t *dev, const uint8_t value)
Sets parasitic impedance (adjustment pack application)
 
int16_t lc709203f_get_id(const lc709203f_t *dev)
reads Sensor id
 
lc709203f_power_mode_t
Power mode choices.
 
lc709203f_temp_obtaining_mode_t
Temperature obtaining mode options.
 
int16_t lc709203f_get_voltage(const lc709203f_t *dev)
reads battery voltage from Sensor
 
void lc709203f_set_apt(const lc709203f_t *dev, const unsigned int value)
Sets value to adjust temperature measurement delay timing (adjusmtent pack thermistor)
 
lc709203f_battery_profile_t
Battery Profile Options.
 
void lc709203f_set_status_bit(const lc709203f_t *dev, const lc709203f_temp_obtaining_mode_t value)
Sets temperature obtaining method.
 
void lc709203f_set_thermistor_b(const lc709203f_t *dev, const unsigned int value)
Sets B constant of the Thermistor.
 
int16_t lc709203f_get_alarm_low_voltage(const lc709203f_t *dev)
reads Alarm Low Cell Voltage Register
 
int16_t lc709203f_get_cell_temp(const lc709203f_t *dev)
reads cell temperature from sensor
 
lc709203f_power_mode_t lc709203f_get_power_mode(const lc709203f_t *dev)
reads IC Power Mode register
 
int16_t lc709203f_get_change_of_parameter(const lc709203f_t *dev)
reads Change of the Parameter register, Battery Profile selection
 
void lc709203f_set_change_of_parameter(const lc709203f_t *dev, const lc709203f_battery_profile_t value)
Sets battery profile.
 
void lc709203f_set_alarm_low_rsoc(const lc709203f_t *dev, const uint8_t value)
Sets threshold for low rsoc alert.
 
int16_t lc709203f_get_rsoc(const lc709203f_t *dev)
reads battery state of charge from Sensor
 
void lc709203f_set_rsoc_initial(const lc709203f_t *dev)
Executes RSOC initialization.
 
int16_t lc709203f_get_ite(const lc709203f_t *dev)
reads battery indicator to empty from Sensor
 
@ LC709203F_CELL_TEMP_INVALID
Cell temp invalid.
 
@ LC709203F_OK
all went as expected
 
@ LC709203F_NOI2C
error using the I2C bus
 
uint_fast8_t i2c_t
Default i2c_t type definition.
 
Low-level I2C peripheral driver interface definition.
 
Parameter struct for driver initialization.
 
uint8_t addr
I2C Address of the fuel gauge.
 
gpio_t alarm_pin
Pin which is connected to the interrupt pin of the sensor.
 
Device descriptor for the fuel gauge.
 
uint8_t addr
I2C Address of fuel gauge.
 
void * arg
additional arguments for the callback method
 
uint8_t scale
scale for returned values
 
lc709203f_params_t params
param struct with static settings etc
 
lc709203f_cb_t cb
callback method