39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51#include "drv_i2c_master.h"
52#include "drv_analog_in.h"
75#define HBRIDGE13_REG_INPUT_PORT 0x00
76#define HBRIDGE13_REG_OUTPUT_PORT 0x01
77#define HBRIDGE13_REG_POLARITY_INV 0x02
78#define HBRIDGE13_REG_CONFIG 0x03
96#define HBRIDGE13_NONE_PIN 0x00
97#define HBRIDGE13_AIN1_IO_PIN 0x01
98#define HBRIDGE13_AIN2_IO_PIN 0x02
99#define HBRIDGE13_PWM_SW1_PIN 0x04
100#define HBRIDGE13_PWM_SW2_PIN 0x08
101#define HBRIDGE13_BIN1_IO_PIN 0x10
102#define HBRIDGE13_BIN2_IO_PIN 0x20
103#define HBRIDGE13_AN_SW_PIN 0x40
104#define HBRIDGE13_FLT_PIN 0x80
105#define HBRIDGE13_ALL_PIN 0xFF
111#define HBRIDGE13_DIR_FORWARD 0x01
112#define HBRIDGE13_DIR_REVERSE 0x00
118#define HBRIDGE13_AN_A_PIN_SEL 0x01
119#define HBRIDGE13_AN_B_PIN_SEL 0x00
126#define HBRIDGE13_DEVICE_ADDRESS_A1A0_00 0x70
127#define HBRIDGE13_DEVICE_ADDRESS_A1A0_01 0x71
128#define HBRIDGE13_DEVICE_ADDRESS_A1A0_10 0x72
129#define HBRIDGE13_DEVICE_ADDRESS_A1A0_11 0x73
135#define HBRIDGE13_ADC_RESOLUTION 0x0FFF
136#define HBRIDGE13_VREF_3V3 3.3
137#define HBRIDGE13_VREF_5V 5.0
143#define HBRIDGE13_DEF_FREQ 5000
161#define HBRIDGE13_MAP_MIKROBUS( cfg, mikrobus ) \
162 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
163 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
164 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
165 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
166 cfg.pwm = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
167 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
err_t hbridge13_pwm_stop(hbridge13_t *ctx)
H-Bridge 13 stop PWM module.
err_t hbridge13_write_reg(hbridge13_t *ctx, uint8_t reg, uint8_t data_out)
H-Bridge 13 write register function.
err_t hbridge13_set_brake(hbridge13_t *ctx)
H-Bridge 13 set brake function.
err_t hbridge13_pwm_start(hbridge13_t *ctx)
H-Bridge 13 start PWM module.
err_t hbridge13_set_direction(hbridge13_t *ctx, uint8_t dir_set, uint8_t speed)
H-Bridge 13 set direction function.
err_t hbridge13_generic_write(hbridge13_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
H-Bridge 13 I2C writing function.
err_t hbridge13_init(hbridge13_t *ctx, hbridge13_cfg_t *cfg)
H-Bridge 13 initialization function.
err_t hbridge13_get_flt_state(hbridge13_t *ctx, uint8_t *pin_state)
H-Bridge 13 get nFAULT state function.
err_t hbridge13_read_reg(hbridge13_t *ctx, uint8_t reg, uint8_t *data_out)
H-Bridge 13 read register function.
err_t hbridge13_get_an_voltage(hbridge13_t *ctx, float *voltage, uint8_t an_sel)
H-Bridge 13 get xIPROPI voltage function.
err_t hbridge13_generic_read(hbridge13_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
H-Bridge 13 I2C reading function.
err_t hbridge13_default_cfg(hbridge13_t *ctx)
H-Bridge 13 default configuration function.
err_t hbridge13_set_vref(hbridge13_t *ctx, float vref)
H-Bridge 13 set vref function.
err_t hbridge13_set_pins(hbridge13_t *ctx, uint8_t set_mask, uint8_t clr_mask)
H-Bridge 13 set output pin state function.
err_t hbridge13_set_coast(hbridge13_t *ctx)
H-Bridge 13 set coast function.
void hbridge13_cfg_setup(hbridge13_cfg_t *cfg)
H-Bridge 13 configuration object setup function.
err_t hbridge13_read_voltage(hbridge13_t *ctx, float *voltage)
H-Bridge 13 read voltage level function.
err_t hbridge13_set_duty_cycle(hbridge13_t *ctx, float duty_cycle)
H-Bridge 13 sets PWM duty cycle.
err_t hbridge13_read_raw_adc(hbridge13_t *ctx, uint16_t *raw_adc)
H-Bridge 13 read raw ADC value function.
hbridge13_return_value_t
H-Bridge 13 Click return value data.
Definition hbridge13.h:231
@ HBRIDGE13_OK
Definition hbridge13.h:232
@ HBRIDGE13_ERROR
Definition hbridge13.h:233
H-Bridge 13 Click configuration object.
Definition hbridge13.h:206
analog_in_resolution_t resolution
Definition hbridge13.h:221
float vref
Definition hbridge13.h:222
uint32_t i2c_speed
Definition hbridge13.h:216
uint32_t dev_pwm_freq
Definition hbridge13.h:220
pin_name_t scl
Definition hbridge13.h:207
pin_name_t int_pin
Definition hbridge13.h:214
pin_name_t pwm
Definition hbridge13.h:210
pin_name_t sda
Definition hbridge13.h:208
pin_name_t rst
Definition hbridge13.h:213
pin_name_t an
Definition hbridge13.h:212
uint8_t i2c_address
Definition hbridge13.h:217
H-Bridge 13 Click context object.
Definition hbridge13.h:177
float vref
Definition hbridge13.h:193
uint32_t pwm_freq
Definition hbridge13.h:197
digital_in_t int_pin
Definition hbridge13.h:182
i2c_master_t i2c
Definition hbridge13.h:185
digital_out_t rst
Definition hbridge13.h:179
uint8_t slave_address
Definition hbridge13.h:190
analog_in_t adc
Definition hbridge13.h:187
pwm_t pwm
Definition hbridge13.h:186