bucknboost  2.0.0.0
bucknboost.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 BUCKNBOOST_H
29 #define BUCKNBOOST_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 
69 #define BUCKNBOOST_REG_PGOOD1_6 0x00
70 #define BUCKNBOOST_REG_STATUS 0x01
71 #define BUCKNBOOST_REG_FAULT 0x02
72 
77 #define BUCKNBOOST_REG_STBY_CTRL 0x03
78 #define BUCKNBOOST_REG_EN 0x04
79 #define BUCKNBOOST_REG_OUT1 0x05
80 #define BUCKNBOOST_REG_OUT2 0x06
81 #define BUCKNBOOST_REG_OUT3 0x07
82 #define BUCKNBOOST_REG_OUT4 0x08
83 #define BUCKNBOOST_REG_OUT5 0x09
84 #define BUCKNBOOST_REG_OUT6 0x0A
85 #define BUCKNBOOST_REG_STBY_OUT1 0x0B
86 #define BUCKNBOOST_REG_STBY_OUT2 0x0C
87 #define BUCKNBOOST_REG_STBY_OUT3 0x0D
88 #define BUCKNBOOST_REG_STBY_OUT4 0x0E
89 #define BUCKNBOOST_REG_STBY_OUT5 0x0F
90 #define BUCKNBOOST_REG_STBY_OUT6 0x10
91 #define BUCKNBOOST_REG_SEQ1 0x11
92 #define BUCKNBOOST_REG_SEQ2 0x12
93 #define BUCKNBOOST_REG_SEQ3 0x13
94 #define BUCKNBOOST_REG_SEQ4 0x14
95 #define BUCKNBOOST_REG_SEQ5 0x15
96 #define BUCKNBOOST_REG_SEQ6 0x16
97 #define BUCKNBOOST_REG_DELAY_CTRL 0x17
98 #define BUCKNBOOST_REG_SS1_2 0x18
99 #define BUCKNBOOST_REG_SS3_4 0x19
100 #define BUCKNBOOST_REG_SS5_6 0x1A
101 #define BUCKNBOOST_REG_ILIMIT_1_2 0x1B
102 #define BUCKNBOOST_REG_ILIMIT_3_4 0x1C
103 #define BUCKNBOOST_REG_ILIMIT_5_6 0x1D
104 #define BUCKNBOOST_REG_STBY_ILIMIT_1_2 0x1E
105 #define BUCKNBOOST_REG_STBY_ILIMIT_3_4 0x1F
106 #define BUCKNBOOST_REG_STBY_ILIMIT_5_6 0x20
107 #define BUCKNBOOST_REG_PORUP_PGOOD_MASK123 0x21
108 #define BUCKNBOOST_REG_PORDN_PGOOD_MASK456 0x22
109 #define BUCKNBOOST_REG_PULLDN1_6 0x23
110 
115 #define BUCKNBOOST_CMD_SAVECONFIG 0x66
116 #define BUCKNBOOST_CMD_RESET 0x6A
117 #define BUCKNBOOST_CMD_RELOAD 0x6B
118 #define BUCKNBOOST_CMD_REBOOT 0x6C
119 #define BUCKNBOOST_CMD_SEQUENCE 0x6D
120  // bucknboost_reg
122 
137 #define BUCKNBOOST_CURRENT_LIMIT_1100mA 0x0F
138 #define BUCKNBOOST_CURRENT_LIMIT_1600mA 0x0E
139 #define BUCKNBOOST_CURRENT_LIMIT_2100mA 0x0D
140 #define BUCKNBOOST_CURRENT_LIMIT_2600mA 0x0C
141 #define BUCKNBOOST_CURRENT_LIMIT_3100mA 0x0B
142 #define BUCKNBOOST_CURRENT_LIMIT_3600mA 0x0A
143 #define BUCKNBOOST_CURRENT_LIMIT_4100mA 0x09
144 #define BUCKNBOOST_CURRENT_LIMIT_4600mA 0x08
145 #define BUCKNBOOST_CURRENT_LIMIT_5100mA 0x07
146 #define BUCKNBOOST_CURRENT_LIMIT_5600mA 0x06
147 #define BUCKNBOOST_CURRENT_LIMIT_6100mA 0x05
148 #define BUCKNBOOST_CURRENT_LIMIT_6600mA 0x04
149 #define BUCKNBOOST_CURRENT_LIMIT_7100mA 0x03
150 #define BUCKNBOOST_CURRENT_LIMIT_7600mA 0x02
151 #define BUCKNBOOST_CURRENT_LIMIT_8100mA 0x01
152 #define BUCKNBOOST_CURRENT_LIMIT_8600mA 0x00
153 
158 #define BUCKNBOOST_WAKE_UP 0x00
159 #define BUCKNBOOST_STANDBY 0x01
160 
165 #define BUCKNBOOST_ENABLE 0x01
166 #define BUCKNBOOST_DISABLE 0x00
167 
172 #define BUCKNBOOST_NORMAL_MODE_ALL 0x40
173 
178 #define BUCKNBOOST_OUTPUT_CH_1 0x01
179 #define BUCKNBOOST_OUTPUT_CH_2 0x02
180 #define BUCKNBOOST_OUTPUT_CH_3 0x03
181 #define BUCKNBOOST_OUTPUT_CH_4 0x04
182 #define BUCKNBOOST_OUTPUT_CH_5 0x05
183 #define BUCKNBOOST_OUTPUT_CH_6 0x06
184 
189 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_800mV 0x32
190 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_850mV 0x31
191 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_900mV 0x30
192 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_950mV 0x2F
193 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1000mV 0x2E
194 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1050mV 0x2D
195 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1100mV 0x2C
196 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1150mV 0x2B
197 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1200mV 0x2A
198 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1250mV 0x29
199 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1300mV 0x28
200 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1350mV 0x27
201 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1400mV 0x26
202 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1450mV 0x25
203 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1500mV 0x24
204 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1550mV 0x23
205 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1600mV 0x22
206 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1650mV 0x21
207 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1700mV 0x20
208 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1750mV 0x1F
209 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1800mV 0x1E
210 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1850mV 0x1D
211 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1900mV 0x1C
212 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_1950mV 0x1B
213 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2000mV 0x1A
214 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2050mV 0x19
215 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2100mV 0x18
216 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2150mV 0x17
217 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2200mV 0x16
218 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2250mV 0x15
219 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2300mV 0x14
220 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2350mV 0x13
221 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2400mV 0x12
222 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2450mV 0x11
223 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2500mV 0x10
224 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2550mV 0x0F
225 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2600mV 0x0E
226 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2650mV 0x0D
227 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2700mV 0x0C
228 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2750mV 0x0B
229 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2800mV 0x0A
230 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2850mV 0x09
231 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2900mV 0x08
232 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_2950mV 0x07
233 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3000mV 0x06
234 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3050mV 0x05
235 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3100mV 0x04
236 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3150mV 0x03
237 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3200mV 0x02
238 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3250mV 0x01
239 #define BUCKNBOOST_BUCK_OUTPUT_VOLTAGE_3300mV 0x00
240 
245 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_7000mV 0x23
246 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_7200mV 0x22
247 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_7400mV 0x21
248 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_7600mV 0x20
249 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_7800mV 0x1F
250 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_8000mV 0x1E
251 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_8200mV 0x1D
252 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_8400mV 0x1C
253 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_8600mV 0x1B
254 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_8800mV 0x1A
255 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_9000mV 0x19
256 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_9200mV 0x18
257 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_9400mV 0x17
258 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_9600mV 0x16
259 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_9800mV 0x15
260 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_10000mV 0x14
261 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_10200mV 0x13
262 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_10400mV 0x12
263 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_10600mV 0x11
264 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_10800mV 0x10
265 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_11000mV 0x0F
266 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_11200mV 0x0E
267 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_11400mV 0x0D
268 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_11600mV 0x0C
269 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_11800mV 0x0B
270 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_12000mV 0x0A
271 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_12200mV 0x09
272 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_12400mV 0x08
273 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_12600mV 0x07
274 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_12800mV 0x06
275 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_13000mV 0x05
276 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_13200mV 0x04
277 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_13400mV 0x03
278 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_13600mV 0x02
279 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_13800mV 0x01
280 #define BUCKNBOOST_BOOST_OUTPUT_VOLTAGE_14000mV 0x00
281 
286 #define BUCKNBOOST_PGOOD1_MASK 0x01
287 #define BUCKNBOOST_PGOOD2_MASK 0x02
288 #define BUCKNBOOST_PGOOD3_MASK 0x04
289 #define BUCKNBOOST_PGOOD4_MASK 0x08
290 #define BUCKNBOOST_PGOOD5_MASK 0x10
291 #define BUCKNBOOST_PGOOD6_MASK 0x20
292 #define BUCKNBOOST_PGOOD_ALL_MASK 0x3F
293 
298 #define BUCKNBOOST_EEPROM_READY_MASK 0x01
299 #define BUCKNBOOST_EEPROM_CONFIG_MASK 0x02
300 #define BUCKNBOOST_EEPROM_CALIB_MASK 0x04
301 #define BUCKNBOOST_EEPROM_READ_MASK 0x40
302 #define BUCKNBOOST_EEPROM_WRITE_MASK 0x80
303 #define BUCKNBOOST_EEPROM_ALL_MASK 0xC7
304 
309 #define BUCKNBOOST_FAULT_REG1OC_MASK 0x01
310 #define BUCKNBOOST_FAULT_REG2OC_MASK 0x02
311 #define BUCKNBOOST_FAULT_REG3OC_MASK 0x04
312 #define BUCKNBOOST_FAULT_REG4OC_MASK 0x08
313 #define BUCKNBOOST_FAULT_REG5OC_MASK 0x10
314 #define BUCKNBOOST_FAULT_REG6OC_MASK 0x20
315 #define BUCKNBOOST_FAULT_OT_MASK 0x80
316 #define BUCKNBOOST_FAULT_ALL_MASK 0xBF
317 
323 #define BUCKNBOOST_DEV_ADDR 0x30
324  // bucknboost_set
326 
341 #define BUCKNBOOST_MAP_MIKROBUS( cfg, mikrobus ) \
342  cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
343  cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
344  cfg.en = MIKROBUS( mikrobus, MIKROBUS_CS ); \
345  cfg.por = MIKROBUS( mikrobus, MIKROBUS_RST ); \
346  cfg.stb = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
347  cfg.pg = MIKROBUS( mikrobus, MIKROBUS_INT )
348  // bucknboost_map // bucknboost
351 
356 typedef struct
357 {
358  // Output pins
359 
360  digital_out_t en;
361  digital_out_t stb;
363  // Input pins
364 
365  digital_in_t por;
366  digital_in_t pg;
368  // Modules
369 
370  i2c_master_t i2c;
372  // I2C slave address
373 
374  uint8_t slave_address;
376 } bucknboost_t;
377 
382 typedef struct
383 {
384  pin_name_t scl;
385  pin_name_t sda;
387  pin_name_t en;
388  pin_name_t por;
389  pin_name_t stb;
390  pin_name_t pg;
392  uint32_t i2c_speed;
393  uint8_t i2c_address;
396 
401 typedef enum
402 {
404  BUCKNBOOST_ERROR = -1
405 
407 
412 typedef struct
413 {
414  uint8_t power_good;
415  uint8_t eeprom_status;
417 }
419 
424 typedef struct
425 {
426  uint8_t out_standby;
427  uint8_t out_enable;
430 }
432 
449 
465 
480 
496 err_t bucknboost_generic_write ( bucknboost_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len );
497 
513 err_t bucknboost_generic_read ( bucknboost_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len );
514 
527 err_t bucknboost_send_cmd ( bucknboost_t *ctx, uint8_t cmd );
528 
543 err_t bucknboost_write_byte ( bucknboost_t *ctx, uint8_t reg, uint8_t data_in );
544 
559 err_t bucknboost_read_byte ( bucknboost_t *ctx, uint8_t reg, uint8_t *data_out );
560 
571 void bucknboost_pin_standby_mode ( bucknboost_t *ctx, uint8_t state );
572 
586 err_t bucknboost_reg_standby_mode ( bucknboost_t *ctx, uint8_t state );
587 
598 void bucknboost_device_enable ( bucknboost_t *ctx, uint8_t state );
599 
609 
619 
632 err_t bucknboost_read_oc_fault ( bucknboost_t *ctx, uint8_t *data_out );
633 
647 err_t bucknboost_set_buck_out_voltage ( bucknboost_t *ctx, uint8_t ch_num, uint8_t data_in );
648 
661 err_t bucknboost_set_all_buck_out_voltage ( bucknboost_t *ctx, uint8_t data_in );
662 
675 err_t bucknboost_set_boost_out_voltage ( bucknboost_t *ctx, uint8_t data_in );
676 
690 
704 err_t bucknboost_update_cfg_out ( bucknboost_t *ctx, uint8_t ch_num, bucknboost_cfg_buck_t b_data );
705 
718 err_t bucknboost_get_power_good_status ( bucknboost_t *ctx, uint8_t *data_out );
719 
733 err_t bucknboost_check_power_good_status ( bucknboost_t *ctx, uint8_t ch_num, uint8_t *data_out );
734 
747 err_t bucknboost_get_eeprom_status ( bucknboost_t *ctx, uint8_t *data_out );
748 
761 err_t bucknboost_get_overcurrent_fault_status ( bucknboost_t *ctx, uint8_t *data_out );
762 
776 err_t bucknboost_check_overc_fault_status ( bucknboost_t *ctx, uint8_t ch_num, uint8_t *data_out );
777 
778 #ifdef __cplusplus
779 }
780 #endif
781 #endif // BUCKNBOOST_H
782  // bucknboost
784 
785 // ------------------------------------------------------------------------ END
bucknboost_get_status
err_t bucknboost_get_status(bucknboost_t *ctx, bucknboost_status_t *st_data)
Buck n Boost get status data function.
bucknboost_cfg_t::stb
pin_name_t stb
Definition: bucknboost.h:389
bucknboost_init
err_t bucknboost_init(bucknboost_t *ctx, bucknboost_cfg_t *cfg)
Buck n Boost initialization function.
bucknboost_t::stb
digital_out_t stb
Definition: bucknboost.h:361
bucknboost_status_t::power_good
uint8_t power_good
Definition: bucknboost.h:414
bucknboost_device_enable
void bucknboost_device_enable(bucknboost_t *ctx, uint8_t state)
Buck n Boost enable device function.
bucknboost_cfg_buck_t
Buck n Boost Click buck config data structure.
Definition: bucknboost.h:425
bucknboost_set_boost_out_voltage
err_t bucknboost_set_boost_out_voltage(bucknboost_t *ctx, uint8_t data_in)
Buck n Boost set boost output voltage function.
bucknboost_t::i2c
i2c_master_t i2c
Definition: bucknboost.h:370
bucknboost_cfg_t::i2c_address
uint8_t i2c_address
Definition: bucknboost.h:393
bucknboost_default_cfg
err_t bucknboost_default_cfg(bucknboost_t *ctx)
Buck n Boost default configuration function.
bucknboost_get_eeprom_status
err_t bucknboost_get_eeprom_status(bucknboost_t *ctx, uint8_t *data_out)
Buck n Boost get eeprom status function.
bucknboost_generic_read
err_t bucknboost_generic_read(bucknboost_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
Buck n Boost I2C reading function.
BUCKNBOOST_ERROR
@ BUCKNBOOST_ERROR
Definition: bucknboost.h:404
bucknboost_read_byte
err_t bucknboost_read_byte(bucknboost_t *ctx, uint8_t reg, uint8_t *data_out)
Buck n Boost read single byte function.
BUCKNBOOST_OK
@ BUCKNBOOST_OK
Definition: bucknboost.h:403
bucknboost_send_cmd
err_t bucknboost_send_cmd(bucknboost_t *ctx, uint8_t cmd)
Buck n Boost send command function.
bucknboost_check_por
uint8_t bucknboost_check_por(bucknboost_t *ctx)
Buck n Boost check power on reset function.
bucknboost_set_all_buck_out_voltage
err_t bucknboost_set_all_buck_out_voltage(bucknboost_t *ctx, uint8_t data_in)
Buck n Boost set all bucks output voltage function.
bucknboost_generic_write
err_t bucknboost_generic_write(bucknboost_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
Buck n Boost I2C writing function.
bucknboost_status_t
Buck n Boost Click status data structure.
Definition: bucknboost.h:413
bucknboost_status_t::eeprom_status
uint8_t eeprom_status
Definition: bucknboost.h:415
bucknboost_t::pg
digital_in_t pg
Definition: bucknboost.h:366
bucknboost_cfg_t::por
pin_name_t por
Definition: bucknboost.h:388
bucknboost_cfg_buck_t::out_vol_normal_mode
uint8_t out_vol_normal_mode
Definition: bucknboost.h:428
bucknboost_cfg_t::sda
pin_name_t sda
Definition: bucknboost.h:385
bucknboost_read_oc_fault
err_t bucknboost_read_oc_fault(bucknboost_t *ctx, uint8_t *data_out)
Buck n Boost read overcurrent fault function.
bucknboost_check_power_good
uint8_t bucknboost_check_power_good(bucknboost_t *ctx)
Buck n Boost check power good function.
bucknboost_check_overc_fault_status
err_t bucknboost_check_overc_fault_status(bucknboost_t *ctx, uint8_t ch_num, uint8_t *data_out)
Buck n Boost check overcurrent fault status function.
bucknboost_t::slave_address
uint8_t slave_address
Definition: bucknboost.h:374
bucknboost_t
Buck n Boost Click context object.
Definition: bucknboost.h:357
bucknboost_cfg_t::i2c_speed
uint32_t i2c_speed
Definition: bucknboost.h:392
bucknboost_cfg_t::en
pin_name_t en
Definition: bucknboost.h:387
bucknboost_t::por
digital_in_t por
Definition: bucknboost.h:365
bucknboost_pin_standby_mode
void bucknboost_pin_standby_mode(bucknboost_t *ctx, uint8_t state)
Buck n Boost set STB pin mode function.
bucknboost_cfg_t
Buck n Boost Click configuration object.
Definition: bucknboost.h:383
bucknboost_get_power_good_status
err_t bucknboost_get_power_good_status(bucknboost_t *ctx, uint8_t *data_out)
Buck n Boost get power good status function.
bucknboost_cfg_buck_t::out_enable
uint8_t out_enable
Definition: bucknboost.h:427
bucknboost_return_value_t
bucknboost_return_value_t
Buck n Boost Click return value data.
Definition: bucknboost.h:402
bucknboost_cfg_buck_t::out_standby
uint8_t out_standby
Definition: bucknboost.h:426
bucknboost_reg_standby_mode
err_t bucknboost_reg_standby_mode(bucknboost_t *ctx, uint8_t state)
Buck n Boost set standby mode function.
bucknboost_check_power_good_status
err_t bucknboost_check_power_good_status(bucknboost_t *ctx, uint8_t ch_num, uint8_t *data_out)
Buck n Boost check power good status function.
bucknboost_update_cfg_out
err_t bucknboost_update_cfg_out(bucknboost_t *ctx, uint8_t ch_num, bucknboost_cfg_buck_t b_data)
Buck n Boost update configuration of the output registers function.
bucknboost_set_buck_out_voltage
err_t bucknboost_set_buck_out_voltage(bucknboost_t *ctx, uint8_t ch_num, uint8_t data_in)
Buck n Boost set buck output voltage function.
bucknboost_t::en
digital_out_t en
Definition: bucknboost.h:360
bucknboost_get_overcurrent_fault_status
err_t bucknboost_get_overcurrent_fault_status(bucknboost_t *ctx, uint8_t *data_out)
Buck n Boost get overcurrent fault status function.
bucknboost_write_byte
err_t bucknboost_write_byte(bucknboost_t *ctx, uint8_t reg, uint8_t data_in)
Buck n Boost Write single byte function.
bucknboost_status_t::overcurrent_fault
uint8_t overcurrent_fault
Definition: bucknboost.h:416
bucknboost_cfg_t::pg
pin_name_t pg
Definition: bucknboost.h:390
bucknboost_cfg_buck_t::out_vol_stby_mode
uint8_t out_vol_stby_mode
Definition: bucknboost.h:429
bucknboost_cfg_t::scl
pin_name_t scl
Definition: bucknboost.h:384
bucknboost_cfg_setup
void bucknboost_cfg_setup(bucknboost_cfg_t *cfg)
Buck n Boost configuration object setup function.