battboost2  2.1.0.0
Data Structures | Macros | Enumerations | Functions
battboost2.h File Reference

This file contains API for BATT Boost 2 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  battboost2_t
 BATT Boost 2 Click context object. More...
 
struct  battboost2_cfg_t
 BATT Boost 2 Click configuration object. More...
 

Macros

#define BATTBOOST2_REG_STATUS   0x00
 BATT Boost 2 description register. More...
 
#define BATTBOOST2_REG_CHENERGY_3   0x01
 
#define BATTBOOST2_REG_CHENERGY_2   0x02
 
#define BATTBOOST2_REG_CHENERGY_1   0x03
 
#define BATTBOOST2_REG_CHENERGY_0   0x04
 
#define BATTBOOST2_REG_VCAP   0x05
 
#define BATTBOOST2_REG_VCHEND   0x06
 
#define BATTBOOST2_REG_PROFILE_MSB   0x07
 
#define BATTBOOST2_REG_COMMAND   0x08
 
#define BATTBOOST2_REG_SET1   0x09
 
#define BATTBOOST2_REG_SET2   0x0A
 
#define BATTBOOST2_REG_SET3   0x0B
 
#define BATTBOOST2_REG_SET4   0x0C
 
#define BATTBOOST2_REG_SET5   0x0D
 
#define BATTBOOST2_STATUS_LOWBAT   0x80
 BATT Boost 2 status conditions. More...
 
#define BATTBOOST2_STATUS_EW   0x40
 
#define BATTBOOST2_STATUS_ALRM   0x20
 
#define BATTBOOST2_STATUS_RDY   0x01
 
#define BATTBOOST2_VCAP_BIT_MASK   0x1F
 BATT Boost 2 storage capacitor voltage status bit mask. More...
 
#define BATTBOOST2_VCHEND_BIT_MASK   0x1F
 BATT Boost 2 target charge voltage bit mask. More...
 
#define BATTBOOST2_SET2_VMIN_2_4V   2.4f
 BATT Boost 2 minimum input voltage comparator threshold values. More...
 
#define BATTBOOST2_SET2_VMIN_2_6V   2.6f
 
#define BATTBOOST2_SET2_VMIN_2_8V   2.8f
 
#define BATTBOOST2_SET2_VMIN_3_0V   3.0f
 
#define BATTBOOST2_SET2_VMIN_3_2V   3.2f
 
#define BATTBOOST2_SET2_VMIN_BIT_MASK   0xF8
 
#define BATTBOOST2_SET2_ICH_BIT_MASK   0x1F
 
#define BATTBOOST2_SET2_SET_VDH_VBT   0x10
 
#define BATTBOOST2_SET3_VEW_2_4V   0
 BATT Boost 2 input voltage comparator Early Warning voltage values. More...
 
#define BATTBOOST2_SET3_VEW_2_6V   1
 
#define BATTBOOST2_SET3_VEW_2_8V   2
 
#define BATTBOOST2_SET3_VEW_3_0V   3
 
#define BATTBOOST2_SET3_VEW_3_2V   4
 
#define BATTBOOST2_SET3_VEW_3_4V   5
 
#define BATTBOOST2_SET3_VEW_3_6V   6
 
#define BATTBOOST2_SET3_VEW_4_0V   7
 
#define BATTBOOST2_SET3_VEW_4_4V   8
 
#define BATTBOOST2_SET3_VEW_4_8V   9
 
#define BATTBOOST2_SET3_VEW_BIT_MASK   0x0F
 
#define BATTBOOST2_SET3_EEW_DISABLE   0
 
#define BATTBOOST2_SET3_EEW_ENABLE   1
 
#define BATTBOOST2_SET5_OPT_MARG_MIN   0
 BATT Boost 2 optimization margin values. More...
 
#define BATTBOOST2_SET5_OPT_MARG_NORMAL   1
 
#define BATTBOOST2_SET5_OPT_MARG_SAFE   2
 
#define BATTBOOST2_SET5_OPT_MARG_EXTRA_SAFE   3
 
#define BATTBOOST2_SET4_VCAPMAX_9_9V   0
 BATT Boost 2 maximum storage voltage. More...
 
#define BATTBOOST2_SET4_VCAPMAX_11_0V   1
 
#define BATTBOOST2_SET4_VCAPMAX_BIT_MASK   0xEF
 
#define BATTBOOST2_CMD_PROF_0_FIXED_MODE   0
 BATT Boost 2 optimizer profiles values. More...
 
#define BATTBOOST2_CMD_PROF_BIT_MASK   0xFC
 
#define BATTBOOST2_CMD_BIT_MASK   0x0F
 
#define BATTBOOST2_PROF_MSB_BIT_MASK   0x03
 
#define BATTBOOST2_PROF_BIT_MASK   0xF0
 
#define BATTBOOST2_OP_MODE_STANDBY   0
 BATT Boost 2 operation mode data values. More...
 
#define BATTBOOST2_OP_MODE_STBY_BIT_MASK   0x06
 
#define BATTBOOST2_OP_MODE_CHARGE   1
 
#define BATTBOOST2_OP_MODE_CHG_BIT_MASK   0xF0
 
#define BATTBOOST2_OP_MODE_SET_CHARGE   0x02
 
#define BATTBOOST2_OP_MODE_ACTIVE   2
 
#define BATTBOOST2_OP_MODE_SET_ACT_ACTIVE   0x04
 
#define BATTBOOST2_CMD_RESET_BIT_MASK   0x08
 BATT Boost 2 reset optimizer data values. More...
 
#define BATTBOOST2_CMD_AUTOMODE_ENABLE   0x80
 BATT Boost 2 auto mode data values. More...
 
#define BATTBOOST2_SET1_VSET_1_8V   1.8f
 BATT Boost 2 output voltage control values. More...
 
#define BATTBOOST2_SET1_VSET_2_0V   2.0f
 
#define BATTBOOST2_SET1_VSET_2_2V   2.2f
 
#define BATTBOOST2_SET1_VSET_2_4V   2.4f
 
#define BATTBOOST2_SET1_VSET_2_5V   2.5f
 
#define BATTBOOST2_SET1_VSET_2_6V   2.6f
 
#define BATTBOOST2_SET1_VSET_2_7V   2.7f
 
#define BATTBOOST2_SET1_VSET_2_8V   2.8f
 
#define BATTBOOST2_SET1_VSET_2_9V   2.9f
 
#define BATTBOOST2_SET1_VSET_3_0V   3.0f
 
#define BATTBOOST2_SET1_VSET_3_1V   3.1f
 
#define BATTBOOST2_SET1_VSET_3_2V   3.2f
 
#define BATTBOOST2_SET1_VSET_3_3V   3.3f
 
#define BATTBOOST2_SET1_VSET_3_4V   3.4f
 
#define BATTBOOST2_SET1_VSET_3_5V   3.5f
 
#define BATTBOOST2_SET1_VSET_3_6V   3.6f
 
#define BATTBOOST2_SET1_VSET_BIT_MASK   0xF0
 
#define BATTBOOST2_SET1_VFIX_BIT_MASK   0x0F
 
#define BATTBOOST2_CONDITION_STOP   0
 BATT Boost 2 start ON pin conditions. More...
 
#define BATTBOOST2_CONDITION_START   1
 
#define BATTBOOST2_STATUS_NOT_READY   0
 BATT Boost 2 ready pin states. More...
 
#define BATTBOOST2_STATUS_READY   1
 
#define BATTBOOST2_DEVICE_ADDRESS_0   0x2E
 BATT Boost 2 device address setting. More...
 
#define BATTBOOST2_DEVICE_ADDRESS_1   0x2F
 
#define BATTBOOST2_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  battboost2_return_value_t { BATTBOOST2_OK = 0, BATTBOOST2_ERROR = -1 }
 BATT Boost 2 Click return value data. More...
 
enum  battboost2_vfix_t {
  BATTBOOST2_VFIX_2_60V = 3, BATTBOOST2_VFIX_2_95V, BATTBOOST2_VFIX_3_27V, BATTBOOST2_VFIX_3_57V,
  BATTBOOST2_VFIX_3_84V, BATTBOOST2_VFIX_4_10V, BATTBOOST2_VFIX_4_33V, BATTBOOST2_VFIX_4_55V,
  BATTBOOST2_VFIX_4_76V, BATTBOOST2_VFIX_4_95V, BATTBOOST2_VFIX_5_16V, BATTBOOST2_VFIX_5_34V,
  BATTBOOST2_VFIX_5_54V
}
 BATT Boost 2 Click capacitor end-of-charge voltage. More...
 
enum  battboost2_ich_t {
  BATTBOOST2_ICH_2_MA = 0, BATTBOOST2_ICH_4_MA, BATTBOOST2_ICH_8_MA, BATTBOOST2_ICH_16_MA,
  BATTBOOST2_ICH_50_MA
}
 BATT Boost 2 Click capacitor charge current. More...
 

Functions

void battboost2_cfg_setup (battboost2_cfg_t *cfg)
 BATT Boost 2 configuration object setup function. More...
 
err_t battboost2_init (battboost2_t *ctx, battboost2_cfg_t *cfg)
 BATT Boost 2 initialization function. More...
 
err_t battboost2_default_cfg (battboost2_t *ctx)
 BATT Boost 2 default configuration function. More...
 
err_t battboost2_generic_write (battboost2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 BATT Boost 2 I2C writing function. More...
 
err_t battboost2_generic_read (battboost2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 BATT Boost 2 I2C reading function. More...
 
err_t battboost2_get_status (battboost2_t *ctx, uint8_t *status)
 BATT Boost 2 gets the status function. More...
 
err_t battboost2_get_chenergy (battboost2_t *ctx, uint32_t *chenergy)
 BATT Boost 2 gets the charge cycle count function. More...
 
err_t battboost2_get_vcap (battboost2_t *ctx, float *vcap)
 BATT Boost 2 gets the storage capacitor voltage status function. More...
 
err_t battboost2_get_vchend (battboost2_t *ctx, uint8_t *vchend)
 BATT Boost 2 gets the target charge voltage function. More...
 
err_t battboost2_set_prof (battboost2_t *ctx, uint8_t prof)
 BATT Boost 2 sets optimizer profile number function. More...
 
err_t battboost2_get_prof (battboost2_t *ctx, uint8_t *prof)
 BATT Boost 2 gets optimizer profile number function. More...
 
err_t battboost2_set_op_mode (battboost2_t *ctx, uint8_t op_mode)
 BATT Boost 2 sets the operating mode function. More...
 
err_t battboost2_reset_optimizer (battboost2_t *ctx)
 BATT Boost 2 reset optimizer result function. More...
 
err_t battboost2_set_automode (battboost2_t *ctx)
 BATT Boost 2 sets the auto mode function. More...
 
err_t battboost2_set_vset (battboost2_t *ctx, float vset)
 BATT Boost 2 sets the output voltage function. More...
 
err_t battboost2_set_vfix (battboost2_t *ctx, battboost2_vfix_t vfix)
 BATT Boost 2 sets the end-of-charge voltage function. More...
 
err_t battboost2_set_vmin (battboost2_t *ctx, float vmin)
 BATT Boost 2 sets the input threshold voltage function. More...
 
err_t battboost2_set_ich (battboost2_t *ctx, battboost2_ich_t ich)
 BATT Boost 2 sets the charge current function. More...
 
err_t battboost2_high_impedance_mode (battboost2_t *ctx)
 BATT Boost 2 sets the high-impedance mode function. More...
 
err_t battboost2_vdh_vbt_mode (battboost2_t *ctx)
 BATT Boost 2 sets the Vvdh Vvbt mode function. More...
 
err_t battboost2_set_vew (battboost2_t *ctx, uint8_t vew, uint8_t eew)
 BATT Boost 2 sets the early warning voltage function. More...
 
err_t battboost2_set_vcapmax (battboost2_t *ctx, uint8_t vcapmax)
 BATT Boost 2 sets the capacitor maximum storage voltage function. More...
 
err_t battboost2_set_opt_marg (battboost2_t *ctx, uint8_t opt_marg)
 BATT Boost 2 sets the optimization margin voltage function. More...
 
void battboost2_set_on_pin_state (battboost2_t *ctx, uint8_t start)
 BATT Boost 2 sets the ON pin state function. More...
 
uint8_t battboost2_get_ready (battboost2_t *ctx)
 BATT Boost 2 gets ready state function. More...
 

Detailed Description

This file contains API for BATT Boost 2 Click Driver.

Enumeration Type Documentation

◆ battboost2_ich_t

BATT Boost 2 Click capacitor charge current.

Predefined enum values for capacitor charge current.

Enumerator
BATTBOOST2_ICH_2_MA 
BATTBOOST2_ICH_4_MA 
BATTBOOST2_ICH_8_MA 
BATTBOOST2_ICH_16_MA 
BATTBOOST2_ICH_50_MA 

◆ battboost2_return_value_t

BATT Boost 2 Click return value data.

Predefined enum values for driver return values.

Enumerator
BATTBOOST2_OK 
BATTBOOST2_ERROR 

◆ battboost2_vfix_t

BATT Boost 2 Click capacitor end-of-charge voltage.

Predefined enum values for capacitor end-of-charge voltage.

Enumerator
BATTBOOST2_VFIX_2_60V 
BATTBOOST2_VFIX_2_95V 
BATTBOOST2_VFIX_3_27V 
BATTBOOST2_VFIX_3_57V 
BATTBOOST2_VFIX_3_84V 
BATTBOOST2_VFIX_4_10V 
BATTBOOST2_VFIX_4_33V 
BATTBOOST2_VFIX_4_55V 
BATTBOOST2_VFIX_4_76V 
BATTBOOST2_VFIX_4_95V 
BATTBOOST2_VFIX_5_16V 
BATTBOOST2_VFIX_5_34V 
BATTBOOST2_VFIX_5_54V