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 BUCKBOOST4_REG_REF_MSB 0x00
60 #define BUCKBOOST4_REG_REF_LSB 0x01
61 #define BUCKBOOST4_REG_IOUT_LIMIT 0x02
62 #define BUCKBOOST4_REG_VOUT_SR 0x03
63 #define BUCKBOOST4_REG_VOUT_FS 0x04
64 #define BUCKBOOST4_REG_CDC 0x05
65 #define BUCKBOOST4_REG_MODE 0x06
66 #define BUCKBOOST4_REG_STATUS 0x07
84 #define BUCKBOOST4_VREF_MV_MIN 45.0f
85 #define BUCKBOOST4_VREF_MV_MAX 1200.0f
86 #define BUCKBOOST4_VREF_MV_STEP 0.5645f
92 #define BUCKBOOST4_IOUT_LIMIT_CT_DIS 0x00
93 #define BUCKBOOST4_IOUT_LIMIT_CT_EN 0x01
94 #define BUCKBOOST4_IOUT_LIMIT_CLTV_MIN 0.0f
95 #define BUCKBOOST4_IOUT_LIMIT_CLTV_MAX 63.5f
96 #define BUCKBOOST4_IOUT_LIMIT_CLTV_STEP 0.5f
102 #define BUCKBOOST4_VOUT_SR_OCP_DELAY_128_US 0x00
103 #define BUCKBOOST4_VOUT_SR_OCP_DELAY_3_S 0x01
104 #define BUCKBOOST4_VOUT_SR_OCP_DELAY_6_S 0x02
105 #define BUCKBOOST4_VOUT_SR_OCP_DELAY_12_S 0x03
106 #define BUCKBOOST4_VOUT_SR_OCP_DELAY_BIT_MASK 0xCF
112 #define BUCKBOOST4_VOUT_SR_SR_MV_US_1_25 0x00
113 #define BUCKBOOST4_VOUT_SR_SR_MV_US_2_5 0x01
114 #define BUCKBOOST4_VOUT_SR_SR_MV_US_5 0x02
115 #define BUCKBOOST4_VOUT_SR_SR_MV_US_10 0x03
116 #define BUCKBOOST4_VOUT_SR_SR_BIT_MASK 0xFC
122 #define BUCKBOOST4_VOUT_FS_FB_EXT 0x80
123 #define BUCKBOOST4_VOUT_FS_INTFB_0_2256 0x00
124 #define BUCKBOOST4_VOUT_FS_INTFB_0_1128 0x01
125 #define BUCKBOOST4_VOUT_FS_INTFB_0_0752 0x02
126 #define BUCKBOOST4_VOUT_FS_INTFB_0_0564 0x03
127 #define BUCKBOOST4_VOUT_FS_INTFB_BIT_MASK 0xFC
133 #define BUCKBOOST4_MODE_OE_EN 0x80
134 #define BUCKBOOST4_MODE_FSWDBL_DIS 0x00
135 #define BUCKBOOST4_MODE_FSWDBL_EN 0x01
136 #define BUCKBOOST4_MODE_HICCUP_DIS 0x00
137 #define BUCKBOOST4_MODE_HICCUP_EN 0x01
138 #define BUCKBOOST4_MODE_DISCHG_DIS 0x00
139 #define BUCKBOOST4_MODE_DISCHG_EN 0x01
140 #define BUCKBOOST4_MODE_FPWM_DIS 0x00
141 #define BUCKBOOST4_MODE_FPWM_EN 0x01
142 #define BUCKBOOST4_MODE_BIT_MASK 0x8D
148 #define BUCKBOOST4_VOUT_LIM_MIN 0.8f
149 #define BUCKBOOST4_VOUT_LIM_5_V 5.0f
150 #define BUCKBOOST4_VOUT_LIM_10_V 10.0f
151 #define BUCKBOOST4_VOUT_LIM_15_V 15.0f
152 #define BUCKBOOST4_VOUT_LIM_20_V 20.0f
153 #define BUCKBOOST4_VOUT_LIM_MAX 21.286f
154 #define BUCKBOOST4_INTFB_STEP_MAX 0.2256f
155 #define BUCKBOOST4_CONVERT_V_TO_MV 1000.0f
162 #define BUCKBOOST4_DEVICE_ADDRESS_0 0x75
163 #define BUCKBOOST4_DEVICE_ADDRESS_1 0x74
181 #define BUCKBOOST4_MAP_MIKROBUS( cfg, mikrobus ) \
182 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
183 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
184 cfg.en = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
185 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
474 uint8_t dischg, uint8_t fpwm );
523 #endif // BUCKBOOST4_H
err_t buckboost4_output_disable(buckboost4_t *ctx)
Buck-Boost 4 disable output voltage function.
digital_in_t int_pin
Definition: buckboost4.h:200
uint8_t buckboost4_fault_indicator(buckboost4_t *ctx)
Buck-Boost 4 check fault indicator function.
err_t buckboost4_set_slew_rate(buckboost4_t *ctx, uint8_t slew_rate)
Buck-Boost 4 sets the slew rate for output voltage change function.
err_t buckboost4_set_ocp_delay(buckboost4_t *ctx, uint8_t ocp_delay)
Buck-Boost 4 sets the output overcurrent response time function.
i2c_master_t i2c
Definition: buckboost4.h:203
uint8_t i2c_address
Definition: buckboost4.h:223
void buckboost4_cfg_setup(buckboost4_cfg_t *cfg)
Buck-Boost 4 configuration object setup function.
Buck-Boost 4 Click context object.
Definition: buckboost4.h:195
uint8_t slave_address
Definition: buckboost4.h:206
err_t buckboost4_init(buckboost4_t *ctx, buckboost4_cfg_t *cfg)
Buck-Boost 4 initialization function.
pin_name_t en
Definition: buckboost4.h:219
err_t buckboost4_set_int_fb_ratio(buckboost4_t *ctx, uint8_t int_fb_ratio)
Buck-Boost 4 set the internal feedback ratio function.
err_t buckboost4_default_cfg(buckboost4_t *ctx)
Buck-Boost 4 default configuration function.
err_t buckboost4_set_vout(buckboost4_t *ctx, float vout_v)
Buck-Boost 4 set the output voltage function.
err_t buckboost4_set_vref(buckboost4_t *ctx, float vref_mv)
Buck-Boost 4 set internal reference voltage function.
void buckboost4_enable_device(buckboost4_t *ctx)
Buck-Boost 4 enable the device function.
err_t buckboost4_get_status(buckboost4_t *ctx, uint8_t *status)
Buck-Boost 4 get status function.
err_t buckboost4_en_ext_output_vtg(buckboost4_t *ctx)
Buck-Boost 4 enable external output voltage feedback function.
uint32_t i2c_speed
Definition: buckboost4.h:222
digital_out_t en
Definition: buckboost4.h:197
pin_name_t sda
Definition: buckboost4.h:217
pin_name_t int_pin
Definition: buckboost4.h:220
pin_name_t scl
Definition: buckboost4.h:216
err_t buckboost4_current_limit_cfg(buckboost4_t *ctx, uint8_t cl_en, float cltv_mv)
Buck-Boost 4 current limit config function.
err_t buckboost4_generic_read(buckboost4_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Buck-Boost 4 I2C reading function.
err_t buckboost4_output_enable(buckboost4_t *ctx)
Buck-Boost 4 enable output voltage function.
buckboost4_return_value_t
Buck-Boost 4 Click return value data.
Definition: buckboost4.h:232
@ BUCKBOOST4_ERROR
Definition: buckboost4.h:234
err_t buckboost4_set_mode(buckboost4_t *ctx, uint8_t fswdbl, uint8_t hiccup, uint8_t dischg, uint8_t fpwm)
Buck-Boost 4 set mode function.
Buck-Boost 4 Click configuration object.
Definition: buckboost4.h:215
@ BUCKBOOST4_OK
Definition: buckboost4.h:233
err_t buckboost4_generic_write(buckboost4_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Buck-Boost 4 I2C writing function.
void buckboost4_disable_device(buckboost4_t *ctx)
Buck-Boost 4 disable the device function.