Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
59 #define BATTMAN3_REG_MANUFACTURE_AND_MODEL_ID 0x00
60 #define BATTMAN3_REG_SILICON_REVSION 0x01
61 #define BATTMAN3_REG_CHARGER_VBUS_ILIM 0x02
62 #define BATTMAN3_REG_CHARGER_TERMINATION_SETTING 0x03
63 #define BATTMAN3_REG_CHARGER_CURRENT_SETTING 0x04
64 #define BATTMAN3_REG_CHARGER_VOLTAGE_THRESHOLD 0x05
65 #define BATTMAN3_REG_CHARGER_TIMER_SETTING 0x06
66 #define BATTMAN3_REG_CHARGER_FUNCTION_SETTING1 0x07
67 #define BATTMAN3_REG_CHARGER_STATUS1 0x08
68 #define BATTMAN3_REG_CHARGER_STATUS2 0x09
69 #define BATTMAN3_REG_CHARGER_FAULT 0x0A
70 #define BATTMAN3_REG_BATTERY_SHORT 0x0B
71 #define BATTMAN3_REG_BATTERY_THERMISTOR_CONTROL 0x0C
72 #define BATTMAN3_REG_V_SOC_0 0x0D
73 #define BATTMAN3_REG_V_SOC_5 0x0E
74 #define BATTMAN3_REG_V_SOC_11 0x0F
75 #define BATTMAN3_REG_V_SOC_19 0x10
76 #define BATTMAN3_REG_V_SOC_28 0x11
77 #define BATTMAN3_REG_V_SOC_41 0x12
78 #define BATTMAN3_REG_V_SOC_55 0x13
79 #define BATTMAN3_REG_V_SOC_69 0x14
80 #define BATTMAN3_REG_V_SOC_84 0x15
81 #define BATTMAN3_REG_V_SOC_100 0x16
82 #define BATTMAN3_REG_FILTER_SETTING1 0x17
83 #define BATTMAN3_REG_FILTER_SETTING2 0x18
84 #define BATTMAN3_REG_RBAT_0 0x19
85 #define BATTMAN3_REG_RBAT_10 0x1A
86 #define BATTMAN3_REG_RBAT_20 0x1B
87 #define BATTMAN3_REG_RBAT_30 0x1C
88 #define BATTMAN3_REG_RBAT_40 0x1D
89 #define BATTMAN3_REG_RBAT_60 0x1E
90 #define BATTMAN3_REG_K_RBAT_CHARGE 0x1F
91 #define BATTMAN3_REG_BAT_TEMP 0x20
92 #define BATTMAN3_REG_BAT_SOC 0x21
93 #define BATTMAN3_REG_VBAT_READ_H 0x22
94 #define BATTMAN3_REG_VBAT_READ_L 0x23
95 #define BATTMAN3_REG_FUEL_GAUGE_MODE 0x24
96 #define BATTMAN3_REG_SOC_RESET 0x25
97 #define BATTMAN3_REG_BST_LED_CTRL 0x26
98 #define BATTMAN3_REG_BST_CFG 0x27
99 #define BATTMAN3_REG_IBL_SET 0x28
100 #define BATTMAN3_REG_ILED2_SET 0x29
101 #define BATTMAN3_REG_ILED3_SET 0x2A
102 #define BATTMAN3_REG_ILED4_SET 0x2B
103 #define BATTMAN3_REG_ILED5_SET 0x2C
104 #define BATTMAN3_REG_BL_FR 0x2D
105 #define BATTMAN3_REG_LED3_BLINK 0x2E
106 #define BATTMAN3_REG_LED4_BLINK 0x2F
107 #define BATTMAN3_REG_LED5_BLINK 0x30
108 #define BATTMAN3_REG_LED_STATUS 0x31
109 #define BATTMAN3_REG_LDO_CTRL 0x32
110 #define BATTMAN3_REG_LDO_CFG 0x33
111 #define BATTMAN3_REG_VID_LDO12 0x34
112 #define BATTMAN3_REG_VID_LDO3 0x35
113 #define BATTMAN3_REG_PGOOD_STATUS 0x36
114 #define BATTMAN3_REG_PGOOD_MASK 0x37
115 #define BATTMAN3_REG_CHARGER_INTERRUPT_ENABLE 0x38
116 #define BATTMAN3_REG_CHARGER_INTERRUPT_FLAG 0x39
117 #define BATTMAN3_REG_BOOST_LDO_INTERRUPT_ENABLE 0x3A
118 #define BATTMAN3_REG_BOOST_LDO_INTERRUPT_FLAG 0x3B
119 #define BATTMAN3_REG_DEFAULT_SET 0x3C
120 #define BATTMAN3_REG_NTC47K_SET 0x3D
140 #define BATTMAN3_CHARGE_STATUS1_OFF 0x0
141 #define BATTMAN3_CHARGE_STATUS1_TRICLE_CHARGE 0x1
142 #define BATTMAN3_CHARGE_STATUS1_FAST_CHARGE_CC 0x2
143 #define BATTMAN3_CHARGE_STATUS1_FAST_CHARGE_CV 0x3
144 #define BATTMAN3_CHARGE_STATUS1_CHARGE_COMPLETE 0x4
145 #define BATTMAN3_CHARGE_STATUS1_SUSPEND 0x5
146 #define BATTMAN3_CHARGE_STATUS1_TIMER_EXPIRED 0x6
147 #define BATTMAN3_CHARGE_STATUS1_BATTERY_DETECTION 0x7
148 #define BATTMAN3_CHARGE_STATUS2_BATTERY_MONITOR_OFF 0x0
149 #define BATTMAN3_CHARGE_STATUS2_NO_BATTERY 0x1
150 #define BATTMAN3_CHARGE_STATUS2_VBSNS_LESSTHEN_VTRK 0x2
151 #define BATTMAN3_CHARGE_STATUS2_VBSNS_MIDDLE_VRK_VWEAK 0x3
152 #define BATTMAN3_CHARGE_STATUS2_VBSNS_MORETHEN_VWEAK 0x4
158 #define BATTMAN3_ENABLE 0x1
159 #define BATTMAN3_DISABLE 0x0
166 #define BATTMAN3_SET_DEV_ADDR 0x44
184 #define BATTMAN3_MAP_MIKROBUS( cfg, mikrobus ) \
185 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
186 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
187 cfg.pgood = MIKROBUS( mikrobus, MIKROBUS_CS ); \
188 cfg.bok = MIKROBUS( mikrobus, MIKROBUS_RST ); \
189 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
203 digital_in_t int_pin;
209 uint8_t slave_address;
Definition: battman3.h:251
Definition: battman3.h:260
Definition: battman3.h:248
Definition: battman3.h:236
battman3_ldo_vout_t
BATT-MAN 3 Click LDO voltage output.
Definition: battman3.h:245
void battman3_cfg_setup(battman3_cfg_t *cfg)
BATT-MAN 3 configuration object setup function.
Definition: battman3.h:287
Definition: battman3.h:261
err_t battman3_default_cfg(battman3_t *ctx)
BATT-MAN 3 default configuration function.
uint8_t battman3_get_power_good(battman3_t *ctx)
Get power good.
Definition: battman3.h:254
err_t battman3_set_charge_state(battman3_t *ctx, uint8_t enable)
Enable/Disable charging.
Definition: battman3.h:249
err_t battman3_init(battman3_t *ctx, battman3_cfg_t *cfg)
BATT-MAN 3 initialization function.
Definition: battman3.h:250
err_t battman3_set_ldo_state(battman3_t *ctx, battman3_ldo_t ldo, uint8_t enable)
Enable/Disable LDO.
Definition: battman3.h:257
err_t battman3_set_charge_vbus_current_limit(battman3_t *ctx, uint16_t current)
Set charge current limit.
Definition: battman3.h:258
Definition: battman3.h:262
err_t battman3_reg_read(battman3_t *ctx, uint8_t reg, uint8_t *rx_data)
Register reading function.
Definition: battman3.h:237
err_t battman3_set_ldo_vout(battman3_t *ctx, battman3_ldo_t ldo, battman3_ldo_vout_t vout)
Set voltage output on LDO.
Definition: battman3.h:255
BATT-MAN 3 Click context object.
Definition: battman3.h:197
err_t battman3_generic_read(battman3_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
BATT-MAN 3 I2C reading function.
Definition: battman3.h:259
uint8_t battman3_get_interrupt(battman3_t *ctx)
Get interrupt.
Definition: battman3.h:272
err_t battman3_generic_write(battman3_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
BATT-MAN 3 I2C writing function.
err_t battman3_reg_write(battman3_t *ctx, uint8_t reg, uint8_t tx_data)
Register writing function.
uint8_t battman3_get_battery_ok(battman3_t *ctx)
Get battery OK.
Definition: battman3.h:253
err_t battman3_set_charge_termination_voltage(battman3_t *ctx, float voltage)
Set charge termination voltage.
Definition: battman3.h:286
err_t battman3_set_charge_voltage_threshold(battman3_t *ctx, battman3_vtrk_dead_t vtrk_dead, float vweak)
Set charge termination voltage.
Definition: battman3.h:273
battman3_ldo_t
BATT-MAN 3 Click LDO.
Definition: battman3.h:270
battman3_return_value_t
BATT-MAN 3 Click return value data.
Definition: battman3.h:234
Definition: battman3.h:274
Definition: battman3.h:285
Definition: battman3.h:247
err_t battman3_get_battery_voltage(battman3_t *ctx, float *vout)
Read battery voltage level.
BATT-MAN 3 Click configuration object.
Definition: battman3.h:216
Definition: battman3.h:252
Definition: battman3.h:284
Definition: battman3.h:256
battman3_vtrk_dead_t
BATT-MAN 3 Click dead battery voltage.
Definition: battman3.h:282