battman2  2.0.0.0
battman2.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2020 MikroElektronika d.o.o.
3 ** Contact: https://www.mikroe.com/contact
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a copy
6 ** of this software and associated documentation files (the "Software"), to deal
7 ** in the Software without restriction, including without limitation the rights
8 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 ** copies of the Software, and to permit persons to whom the Software is
10 ** furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be
12 ** included in all copies or substantial portions of the Software.
13 **
14 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16 ** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 ** USE OR OTHER DEALINGS IN THE SOFTWARE.
21 ****************************************************************************/
22 
28 #ifndef BATTMAN2_H
29 #define BATTMAN2_H
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
35 #include "mikrosdk_version.h"
36 
37 #ifdef __GNUC__
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
40 #else
41 #include "delays.h"
42 #endif
43 #endif
44 
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_i2c_master.h"
48 
49 
70 #define BATTMAN2_INT_GLBL0 0x00
71 #define BATTMAN2_INT_GLBL1 0x04
72 #define BATTMAN2_ERCFLAG 0x05
73 #define BATTMAN2_STAT_GLBL 0x06
74 #define BATTMAN2_INTM_GLBL1 0x08
75 #define BATTMAN2_INTM_GLBL0 0x09
76 #define BATTMAN2_CNFG_GLBL 0x10
77 #define BATTMAN2_CNFG_GPIO0 0x11
78 #define BATTMAN2_CNFG_GPIO1 0x12
79 #define BATTMAN2_CNFG_GPIO2 0x13
80 #define BATTMAN2_CID 0x14
81 #define BATTMAN2_CNFG_WDT 0x17
82 #define BATTMAN2_INT_CHG 0x01
83 #define BATTMAN2_STAT_CHG_A 0x02
84 #define BATTMAN2_STAT_CHG_B 0x03
85 #define BATTMAN2_INT_M_CHG 0x07
86 #define BATTMAN2_CNFG_CHG_A 0x20
87 #define BATTMAN2_CNFG_CHG_B 0x21
88 #define BATTMAN2_CNFG_CHG_C 0x22
89 #define BATTMAN2_CNFG_CHG_D 0x23
90 #define BATTMAN2_CNFG_CHG_E 0x24
91 #define BATTMAN2_CNFG_CHG_F 0x25
92 #define BATTMAN2_CNFG_CHG_G 0x26
93 #define BATTMAN2_CNFG_CHG_H 0x27
94 #define BATTMAN2_CNFG_CHG_I 0x28
95 #define BATTMAN2_CNFG_SBB0_A 0x29
96 #define BATTMAN2_CNFG_SBB0_B 0x2A
97 #define BATTMAN2_CNFG_SBB1_A 0x2B
98 #define BATTMAN2_CNFG_SBB1_B 0x2C
99 #define BATTMAN2_CNFG_SBB2_A 0x2D
100 #define BATTMAN2_CNFG_SBB2_B 0x2E
101 #define BATTMAN2_CNFG_SBB_TOP 0x2F
102 #define BATTMAN2_CNFG_LDO0_A 0x38
103 #define BATTMAN2_CNFG_LDO0_B 0x39
104 #define BATTMAN2_CNFG_LDO1_A 0x3A
105 #define BATTMAN2_CNFG_LDO1_B 0x3B
106  // battman2_reg
108 
129 #define BATTMAN2_SEL_LED_RED 0x00
130 #define BATTMAN2_SEL_LED_YELLOW 0x01
131 #define BATTMAN2_SEL_LED_BLUE 0x02
132 #define BATTMAN2_PIN_STATE_OFF 0x00
133 #define BATTMAN2_PIN_STATE_ON 0x01
134 
140 #define BATTMAN2_SEL_ALT_GPIO_STANDARD 0x00
141 #define BATTMAN2_SEL_ALT_GPIO_A_OUTPUT_SBB2 0x20
142 #define BATTMAN2_DBEN_GPI_NO_DEBOUNCE 0x00
143 #define BATTMAN2_DBEN_GPI_DEBOUNCE_30_ms 0x10
144 #define BATTMAN2_DO_GPIO_LOGIC_LOW 0x00
145 #define BATTMAN2_DO_GPIO_LOGIC_HIGH 0x08
146 #define BATTMAN2_DRV_OPEN_DRAIN 0x00
147 #define BATTMAN2_DRV_PUSH_PULL 0x04
148 #define BATTMAN2_DI_GPIO_LOGIC_LOW 0x00
149 #define BATTMAN2_DI_GPIO_LOGIC_HIGH 0x02
150 #define BATTMAN2_DIR_OUTPUT 0x00
151 #define BATTMAN2_DIR_INPUT 0x01
152 
158 #define BATTMAN2_THM_HOT_411_mV 0x00
159 #define BATTMAN2_THM_HOT_367_mV 0x01
160 #define BATTMAN2_THM_HOT_327_mV 0x02
161 #define BATTMAN2_THM_HOT_291_mV 0x03
162 #define BATTMAN2_THM_WARM_511_mV 0x00
163 #define BATTMAN2_THM_WARM_459_mV 0x01
164 #define BATTMAN2_THM_WARM_411_mV 0x02
165 #define BATTMAN2_THM_WARM_367_mV 0x03
166 #define BATTMAN2_THM_COOL_923_mV 0x00
167 #define BATTMAN2_THM_COOL_867_mV 0x01
168 #define BATTMAN2_THM_COOL_807_mV 0x02
169 #define BATTMAN2_THM_COOL_747_mV 0x03
170 #define BATTMAN2_THM_COLD_1024_mV 0x00
171 #define BATTMAN2_THM_COLD_976_mV 0x01
172 #define BATTMAN2_THM_COLD_923_mV 0x02
173 #define BATTMAN2_THM_COLD_867_mV 0x03
174 
180 #define BATTMAN2_BIT_MASK_CHARGER_DISABLE 0xFE
181 #define BATTMAN2_BIT_MASK_CHARGER_ENABLE 0x01
182 #define BATTMAN2_SET_CHARGER_DISABLE 0x00
183 #define BATTMAN2_SET_CHARGER_ENABLE 0x01
184 
191 #define BATTMAN2_I_PQ_10_PERCENTAGE 0x00
192 #define BATTMAN2_I_PQ_20_PERCENTAGE 0x01
193 
199 #define BATTMAN2_I_TERM_5_PERCENTAGE 0x00
200 #define BATTMAN2_I_TERM_7_5_PERCENTAGE 0x01
201 #define BATTMAN2_I_TERM_10_PERCENTAGE 0x02
202 #define BATTMAN2_I_TERM_15_PERCENTAGE 0x03
203 
209 #define BATTMAN2_T_TOPOFF_0_MIN 0x00
210 #define BATTMAN2_T_TOPOFF_5_MIN 0x01
211 #define BATTMAN2_T_TOPOFF_10_MIN 0x02
212 #define BATTMAN2_T_TOPOFF_15_MIN 0x03
213 #define BATTMAN2_T_TOPOFF_20_MIN 0x04
214 #define BATTMAN2_T_TOPOFF_25_MIN 0x05
215 #define BATTMAN2_T_TOPOFF_30_MIN 0x06
216 #define BATTMAN2_T_TOPOFF_35_MIN 0x07
217 
223 #define BATTMAN2_TJ_REG_60_C 0x00
224 #define BATTMAN2_TJ_REG_70_C 0x01
225 #define BATTMAN2_TJ_REG_80_C 0x02
226 #define BATTMAN2_TJ_REG_90_C 0x03
227 #define BATTMAN2_TJ_REG_100_C 0x04
228 
234 #define BATTMAN2_T_FAST_CHG_TIMER_DISABLED 0x00
235 #define BATTMAN2_T_FAST_CHG_TIMER_3_HOURS 0x01
236 #define BATTMAN2_T_FAST_CHG_TIMER_5_HOURS 0x02
237 #define BATTMAN2_T_FAST_CHG_TIMER_7_HOURS 0x03
238 
244 #define BATTMAN2_THM_EN_THERMISTOR_DISABLED 0x00
245 #define BATTMAN2_THM_EN_THERMISTOR_ENABLED 0x01
246 
252 #define BATTMAN2_USBS_CHGIN_IS_NOT_SUSPENDED 0x00
253 #define BATTMAN2_USBS_CHGIN_IS_SUSPENDED 0x01
254 
260 #define BATTMAN2_IMON_DISCHG_SCALE_8_2_mA 0x00
261 #define BATTMAN2_IMON_DISCHG_SCALE_40_5_mA 0x01
262 #define BATTMAN2_IMON_DISCHG_SCALE_72_3_mA 0x02
263 #define BATTMAN2_IMON_DISCHG_SCALE_103_4_mA 0x03
264 #define BATTMAN2_IMON_DISCHG_SCALE_134_1_mA 0x04
265 #define BATTMAN2_IMON_DISCHG_SCALE_164_1_mA 0x05
266 #define BATTMAN2_IMON_DISCHG_SCALE_193_7_mA 0x06
267 #define BATTMAN2_IMON_DISCHG_SCALE_222_7_mA 0x07
268 #define BATTMAN2_IMON_DISCHG_SCALE_251_2_mA 0x08
269 #define BATTMAN2_IMON_DISCHG_SCALE_279_3_mA 0x09
270 #define BATTMAN2_IMON_DISCHG_SCALE_300_mA 0x0A
271 
277 #define BATTMAN2_MUX_SEL_MULTIPLEXER_DISABLED 0x00
278 #define BATTMAN2_MUX_SEL_CHGIN_VOLTAGE_MONITOR 0x01
279 #define BATTMAN2_MUX_SEL_CHGIN_CURRENT_MONITOR 0x02
280 #define BATTMAN2_MUX_SEL_BATT_VOLTAGE_MONITOR 0x03
281 #define BATTMAN2_MUX_SEL_BATT_CHARGE_CURRENT_MONITOR 0x04
282 #define BATTMAN2_MUX_SEL_BATT_DISCHARGE_CURRENT_NORMAL 0x05
283 #define BATTMAN2_MUX_SEL_BATT_DISCHARGE_CURRENT_NULLING 0x06
284 #define BATTMAN2_MUX_SEL_THM_VOLTAGE_MONITOR 0x07
285 #define BATTMAN2_MUX_SEL_TBIAS_VOLTAGE_MONITOR 0x08
286 #define BATTMAN2_MUX_SEL_AGND_VOLTAGE_MONITOR 0x09
287 #define BATTMAN2_MUX_SEL_SYS_VOLTAGE_MONITOR 0x0A
288 
294 #define BATTMAN2_OP_MODE_BUCK_AND_BOOST 0x00
295 #define BATTMAN2_OP_MODE_BUCK 0x01
296 
302 #define BATTMAN2_CURRENT_LIMIT_1000_mA 0x00
303 #define BATTMAN2_CURRENT_LIMIT_750_mA 0x01
304 #define BATTMAN2_CURRENT_LIMIT_500_mA 0x02
305 #define BATTMAN2_CURRENT_LIMIT_333_mA 0x03
306 
312 #define BATTMAN2_ACTIVE_DISCHARGE_DISABLE 0x00
313 #define BATTMAN2_ACTIVE_DISCHARGE_ENABLE 0x01
314 
320 #define BATTMAN2_ENABLE_CONTROL_FPS_SLOT_0 0x00
321 #define BATTMAN2_ENABLE_CONTROL_FPS_SLOT_1 0x01
322 #define BATTMAN2_ENABLE_CONTROL_FPS_SLOT_2 0x02
323 #define BATTMAN2_ENABLE_CONTROL_FPS_SLOT_3 0x03
324 #define BATTMAN2_ENABLE_CONTROL_OFF_IRRESPECTIVE_FPS 0x04
325 #define BATTMAN2_ENABLE_CONTROL_ON_IRRESPECTIVE_FPS 0x06
326 
332 #define BATTMAN2_ICHGIN_LIM_95_mA 0x00
333 #define BATTMAN2_ICHGIN_LIM_190_mA 0x01
334 #define BATTMAN2_ICHGIN_LIM_285_mA 0x02
335 #define BATTMAN2_ICHGIN_LIM_380_mA 0x03
336 #define BATTMAN2_ICHGIN_LIM_475_mA 0x04
337 
343 #define BATTMAN2_DRV_SBB_FAST_TRANSITION_TIME 0x00
344 #define BATTMAN2_DRV_SBB_TRANSITION_TIME_1 0x01
345 #define BATTMAN2_DRV_SBB_TRANSITION_TIME_2 0x02
346 #define BATTMAN2_DRV_SBB_TRANSITION_TIME_3 0x03
347 
353 #define BATTMAN2_SBB_CH_0 0x00
354 #define BATTMAN2_SBB_CH_1 0x01
355 #define BATTMAN2_SBB_CH_2 0x02
356 
362 #define BATTMAN2_SET_DEV_ADDR 0x48
363  // battman2_set
365 
380 #define BATTMAN2_CHG_DTLS_OFF 0x00
381 #define BATTMAN2_CHG_DTLS_PREQUALIFICATION_MODE 0x01
382 #define BATTMAN2_CHG_DTLS_FAST_CHARGE_CONSTANT_CURRENT 0x02
383 #define BATTMAN2_CHG_DTLS_JEITA_MODIFIED_FAST_CHRG_CC 0x03
384 #define BATTMAN2_CHG_DTLS_FAST_CHARGE_CONSTANT_VOLTAGE 0x04
385 #define BATTMAN2_CHG_DTLS_JEITA_MODIFIED_FAST_CHRG_CV 0x05
386 #define BATTMAN2_CHG_DTLS_TOP_OFF_MODE 0x06
387 #define BATTMAN2_CHG_DTLS_JEITA_MODIFIED_TOP_OFF_MODE 0x07
388 #define BATTMAN2_CHG_DTLS_DONE 0x08
389 #define BATTMAN2_CHG_DTLS_JEITA_MODIFIED_DONE 0x09
390 #define BATTMAN2_CHG_DTLS_PREQUALIFICATION_TIMER_FAULT 0x0A
391 #define BATTMAN2_CHG_DTLS_FAST_CHARGE_TIMER_FAULT 0x0B
392 #define BATTMAN2_CHG_DTLS_BATTERY_TEMPERATURE_FAULT 0x0C
393 
398 #define BATTMAN2_CHG_NO_CHARGING 0x00
399 #define BATTMAN2_CHG_CHARGING 0x01
400  // battman2_chrg_status
402 
417 #define BATTMAN2_MAP_MIKROBUS( cfg, mikrobus ) \
418  cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
419  cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
420  cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
421  cfg.irq = MIKROBUS( mikrobus, MIKROBUS_INT )
422  // battman2_map // battman2
425 
430 typedef struct
431 {
432  // Output pins
433  digital_out_t rst;
435  // Input pins
436  digital_in_t irq;
438  // Modules
439  i2c_master_t i2c;
441  // I2C slave address
442  uint8_t slave_address;
444 } battman2_t;
445 
450 typedef struct
451 {
452  pin_name_t scl;
453  pin_name_t sda;
455  pin_name_t rst;
456  pin_name_t irq;
458  uint32_t i2c_speed;
459  uint8_t i2c_address;
462 
467 typedef enum
468 {
470  BATTMAN2_ERROR = -1
471 
473 
478 typedef struct
479 {
480  uint8_t thm_hot;
481  uint8_t thm_warm;
482  uint8_t thm_cool;
483  uint8_t thm_cold;
484  float vchgin_min;
485  float ichgin_lim;
486  uint8_t i_pq;
487  float chg_pq;
488  uint8_t i_term;
489  uint8_t t_topoff;
490  uint8_t tj_reg;
491  float vsys_reg;
492  float chg_cc;
493  uint8_t t_fast_chg;
495  uint8_t thm_en;
496  float chg_cv;
497  uint8_t usbs;
500  uint8_t mux_sel;
501 
503 
508 typedef struct
509 {
512  uint8_t vsys_min_stat;
513  uint8_t tj_reg_stat;
514  uint8_t thm_dtls;
515  uint8_t chg_dtls;
516  uint8_t chgin_dtls;
517  uint8_t chg;
518  uint8_t time_sus;
519 
521 
526 typedef struct
527 {
528  float output_vtg;
529  uint8_t op_mode;
530  uint8_t current_limit;
532  uint8_t enable_control;
533  uint8_t ichgin_lim_def;
534  uint8_t drv_sbb;
535 
537 
542 typedef struct
543 {
544  float output_vtg;
545  uint8_t op_mode;
546  uint8_t current_limit;
548  uint8_t enable_control;
549 
551 
568 
584 
599 
615 err_t battman2_generic_write ( battman2_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len );
616 
632 err_t battman2_generic_read ( battman2_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len );
633 
649 
666 err_t battman2_check_int_glbl ( battman2_t *ctx, uint8_t *int_glbl0, uint8_t *int_glbl1 );
667 
683 err_t battman2_check_faults_occurred ( battman2_t *ctx, uint8_t *faults );
684 
700 err_t battman2_check_stat ( battman2_t *ctx, uint8_t *stat );
701 
702 
724 err_t battman2_set_gpio_output ( battman2_t *ctx, uint8_t gpio_sel, uint8_t led_state );
725 
741 err_t battman2_get_id ( battman2_t *ctx, uint8_t *cid );
742 
760 err_t battman2_set_charger_enable ( battman2_t *ctx, uint8_t en_chg );
761 
778 
795 
812 
832 err_t battman2_set_sbb_config ( battman2_t *ctx, uint8_t sbb_sel, battman2_sbb_cnfg_t sbb_cfg );
833 
853 err_t battman2_get_sbb_config ( battman2_t *ctx, uint8_t sbb_sel, battman2_sbb_cnfg_t *sbb_cfg );
854 
871 
888 
904 
920 
921 #ifdef __cplusplus
922 }
923 #endif
924 #endif // BATTMAN2_H
925  // battman2
927 
928 // ------------------------------------------------------------------------ END
battman2_ldo_cnfg_t::active_discharge_enable
uint8_t active_discharge_enable
Definition: battman2.h:547
battman2_stat_chg_t::tj_reg_stat
uint8_t tj_reg_stat
Definition: battman2.h:513
battman2_ldo_cnfg_t::current_limit
uint8_t current_limit
Definition: battman2.h:546
battman2_generic_read
err_t battman2_generic_read(battman2_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
BATT-MAN 2 I2C reading function.
battman2_return_value_t
battman2_return_value_t
BATT-MAN 2 Click return value data.
Definition: battman2.h:468
battman2_stat_chg_t::chg
uint8_t chg
Definition: battman2.h:517
battman2_chg_cnfg_t::mux_sel
uint8_t mux_sel
Definition: battman2.h:500
battman2_sbb_cnfg_t::current_limit
uint8_t current_limit
Definition: battman2.h:530
battman2_check_stat
err_t battman2_check_stat(battman2_t *ctx, uint8_t *stat)
BATT-MAN 2 check states function.
battman2_t::rst
digital_out_t rst
Definition: battman2.h:433
battman2_chg_cnfg_t::thm_cold
uint8_t thm_cold
Definition: battman2.h:483
battman2_cfg_t::irq
pin_name_t irq
Definition: battman2.h:456
battman2_t::i2c
i2c_master_t i2c
Definition: battman2.h:439
battman2_get_chg_status
err_t battman2_get_chg_status(battman2_t *ctx, battman2_stat_chg_t *chg_stat)
BATT-MAN 2 get charger status function.
battman2_stat_chg_t::ichgin_lim_stat
uint8_t ichgin_lim_stat
Definition: battman2.h:511
battman2_chg_cnfg_t::thm_en
uint8_t thm_en
Definition: battman2.h:495
battman2_get_sbb_config
err_t battman2_get_sbb_config(battman2_t *ctx, uint8_t sbb_sel, battman2_sbb_cnfg_t *sbb_cfg)
BATT-MAN 2 get SBB configuration function.
battman2_chg_cnfg_t::vsys_reg
float vsys_reg
Definition: battman2.h:491
battman2_chg_cnfg_t::chg_pq
float chg_pq
Definition: battman2.h:487
BATTMAN2_OK
@ BATTMAN2_OK
Definition: battman2.h:469
battman2_cfg_t::i2c_speed
uint32_t i2c_speed
Definition: battman2.h:458
battman2_default_cfg
err_t battman2_default_cfg(battman2_t *ctx)
BATT-MAN 2 default configuration function.
battman2_chg_cnfg_t::thm_cool
uint8_t thm_cool
Definition: battman2.h:482
battman2_cfg_t::scl
pin_name_t scl
Definition: battman2.h:452
battman2_set_gpio_output
err_t battman2_set_gpio_output(battman2_t *ctx, uint8_t gpio_sel, uint8_t led_state)
BATT-MAN 2 set gpio output state function.
battman2_stat_chg_t::vchgin_min_stat
uint8_t vchgin_min_stat
Definition: battman2.h:510
battman2_ldo_cnfg_t
BATT-MAN 2 Click LDO configuration object.
Definition: battman2.h:543
BATTMAN2_ERROR
@ BATTMAN2_ERROR
Definition: battman2.h:470
battman2_chg_cnfg_t::ichgin_lim
float ichgin_lim
Definition: battman2.h:485
battman2_cfg_setup
void battman2_cfg_setup(battman2_cfg_t *cfg)
BATT-MAN 2 configuration object setup function.
battman2_chg_cnfg_t::usbs
uint8_t usbs
Definition: battman2.h:497
battman2_ldo_cnfg_t::enable_control
uint8_t enable_control
Definition: battman2.h:548
battman2_chg_cnfg_t::chg_cv_jeita
float chg_cv_jeita
Definition: battman2.h:498
battman2_chg_cnfg_t::t_fast_chg
uint8_t t_fast_chg
Definition: battman2.h:493
battman2_t::irq
digital_in_t irq
Definition: battman2.h:436
battman2_chg_cnfg_t::thm_hot
uint8_t thm_hot
Definition: battman2.h:480
battman2_chg_cnfg_t::chg_cv
float chg_cv
Definition: battman2.h:496
battman2_hw_reset
err_t battman2_hw_reset(battman2_t *ctx)
BATT-MAN 2 hw reset function.
battman2_chg_cnfg_t::t_topoff
uint8_t t_topoff
Definition: battman2.h:489
battman2_chg_cnfg_t::chg_cc
float chg_cc
Definition: battman2.h:492
battman2_check_interrupt
uint8_t battman2_check_interrupt(battman2_t *ctx)
BATT-MAN 2 check interrupt function.
battman2_stat_chg_t
BATT-MAN 2 Click charger status object.
Definition: battman2.h:509
battman2_get_id
err_t battman2_get_id(battman2_t *ctx, uint8_t *cid)
BATT-MAN 2 get device ID function.
battman2_led_intro
void battman2_led_intro(battman2_t *ctx)
BATT-MAN 2 LED intro function.
battman2_sbb_cnfg_t::ichgin_lim_def
uint8_t ichgin_lim_def
Definition: battman2.h:533
battman2_check_int_glbl
err_t battman2_check_int_glbl(battman2_t *ctx, uint8_t *int_glbl0, uint8_t *int_glbl1)
BATT-MAN 2 check global interrupts function.
battman2_chg_cnfg_t::i_pq
uint8_t i_pq
Definition: battman2.h:486
battman2_init
err_t battman2_init(battman2_t *ctx, battman2_cfg_t *cfg)
BATT-MAN 2 initialization function.
battman2_chg_cnfg_t::thm_warm
uint8_t thm_warm
Definition: battman2.h:481
battman2_ldo_cnfg_t::output_vtg
float output_vtg
Definition: battman2.h:544
battman2_set_charger_cfg
err_t battman2_set_charger_cfg(battman2_t *ctx, battman2_chg_cnfg_t chg_cnfg)
BATT-MAN 2 set charger configuration function.
battman2_sbb_cnfg_t::enable_control
uint8_t enable_control
Definition: battman2.h:532
battman2_check_faults_occurred
err_t battman2_check_faults_occurred(battman2_t *ctx, uint8_t *faults)
BATT-MAN 2 check faults occurred function.
battman2_chg_cnfg_t::tj_reg
uint8_t tj_reg
Definition: battman2.h:490
battman2_cfg_t::sda
pin_name_t sda
Definition: battman2.h:453
battman2_sbb_cnfg_t::drv_sbb
uint8_t drv_sbb
Definition: battman2.h:534
battman2_sbb_cnfg_t::op_mode
uint8_t op_mode
Definition: battman2.h:529
battman2_t
BATT-MAN 2 Click context object.
Definition: battman2.h:431
battman2_stat_chg_t::chg_dtls
uint8_t chg_dtls
Definition: battman2.h:515
battman2_sbb_cnfg_t
BATT-MAN 2 Click Buck and boost configuration object.
Definition: battman2.h:527
battman2_cfg_t::rst
pin_name_t rst
Definition: battman2.h:455
battman2_sbb_cnfg_t::output_vtg
float output_vtg
Definition: battman2.h:528
battman2_stat_chg_t::time_sus
uint8_t time_sus
Definition: battman2.h:518
battman2_t::slave_address
uint8_t slave_address
Definition: battman2.h:442
battman2_stat_chg_t::thm_dtls
uint8_t thm_dtls
Definition: battman2.h:514
battman2_set_ldo_config
err_t battman2_set_ldo_config(battman2_t *ctx, battman2_ldo_cnfg_t ldo_cfg)
BATT-MAN 2 set LDO configuration function.
battman2_chg_cnfg_t
BATT-MAN 2 Click charger configuration object.
Definition: battman2.h:479
battman2_cfg_t::i2c_address
uint8_t i2c_address
Definition: battman2.h:459
battman2_chg_cnfg_t::vchgin_min
float vchgin_min
Definition: battman2.h:484
battman2_set_sbb_config
err_t battman2_set_sbb_config(battman2_t *ctx, uint8_t sbb_sel, battman2_sbb_cnfg_t sbb_cfg)
BATT-MAN 2 set SBB configuration function.
battman2_sbb_cnfg_t::active_discharge_enable
uint8_t active_discharge_enable
Definition: battman2.h:531
battman2_stat_chg_t::chgin_dtls
uint8_t chgin_dtls
Definition: battman2.h:516
battman2_chg_cnfg_t::imon_dischg_scale
uint8_t imon_dischg_scale
Definition: battman2.h:499
battman2_chg_cnfg_t::chg_cc_jeita
float chg_cc_jeita
Definition: battman2.h:494
battman2_cfg_t
BATT-MAN 2 Click configuration object.
Definition: battman2.h:451
battman2_set_charger_enable
err_t battman2_set_charger_enable(battman2_t *ctx, uint8_t en_chg)
BATT-MAN 2 set charger enable function.
battman2_get_ldo_config
err_t battman2_get_ldo_config(battman2_t *ctx, battman2_ldo_cnfg_t *ldo_cfg)
BATT-MAN 2 get LDO configuration function.
battman2_chg_cnfg_t::i_term
uint8_t i_term
Definition: battman2.h:488
battman2_get_charger_cfg
err_t battman2_get_charger_cfg(battman2_t *ctx, battman2_chg_cnfg_t *chg_cnfg)
BATT-MAN 2 get charger configuration function.
battman2_ldo_cnfg_t::op_mode
uint8_t op_mode
Definition: battman2.h:545
battman2_generic_write
err_t battman2_generic_write(battman2_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
BATT-MAN 2 I2C writing function.
battman2_stat_chg_t::vsys_min_stat
uint8_t vsys_min_stat
Definition: battman2.h:512