35#include "drv_digital_out.h"
36#include "drv_digital_in.h"
37#include "drv_i2c_master.h"
38#include "drv_spi_master.h"
61#define HBRIDGE14_REG_FAULT_STATUS 0x00
62#define HBRIDGE14_REG_DIAG_STATUS 0x02
63#define HBRIDGE14_REG_IC1_CTRL 0x04
64#define HBRIDGE14_REG_IC2_CTRL 0x06
65#define HBRIDGE14_REG_IC3_CTRL 0x08
66#define HBRIDGE14_REG_IC4_CTRL 0x0A
67#define HBRIDGE14_REG_INPUT_PORT 0x00
68#define HBRIDGE14_REG_OUTPUT_PORT 0x01
69#define HBRIDGE14_REG_POLARITY_INV 0x02
70#define HBRIDGE14_REG_CONFIG 0x03
94#define HBRIDGE14_DIS_ON 0x01
95#define HBRIDGE14_DIS_OFF 0x00
102#define HBRIDGE14_SLEEP_ON 0x01
103#define HBRIDGE14_SLEEP_OFF 0x00
110#define HBRIDGE14_PIN_STATE_HIGH 0x01
111#define HBRIDGE14_PIN_STATE_LOW 0x00
118#define HBRIDGE14_DRIVE_MOTOR_CW 0x00
119#define HBRIDGE14_DRIVE_MOTOR_CCW 0x01
120#define HBRIDGE14_DRIVE_MOTOR_BRAKE 0x02
121#define HBRIDGE14_DRIVE_MOTOR_COASTING 0x03
128#define HBRIDGE14_NONE_PIN 0x00
129#define HBRIDGE14_SLP_PIN 0x01
130#define HBRIDGE14_FLT_PIN 0x02
131#define HBRIDGE14_DIS_PIN 0x04
132#define HBRIDGE14_ALL_PIN 0x07
139#define HBRIDGE14_TOF_80_US 0xC0
140#define HBRIDGE14_TOF_60_US 0x80
141#define HBRIDGE14_TOF_40_US 0x40
142#define HBRIDGE14_TOF_20_US 0x00
143#define HBRIDGE14_SPI_IN_EN 0x20
144#define HBRIDGE14_SPI_IN_DIS 0x00
145#define HBRIDGE14_S_SR_2_6V_US 0x1C
146#define HBRIDGE14_S_SR_5_3V_US 0x18
147#define HBRIDGE14_S_SR_7_9V_US 0x14
148#define HBRIDGE14_S_SR_10_8V_US 0x10
149#define HBRIDGE14_S_SR_13_V_US 0x0C
150#define HBRIDGE14_S_SR_18_3V_US 0x08
151#define HBRIDGE14_S_SR_34_V_US 0x04
152#define HBRIDGE14_S_SR_53_2V_US 0x00
153#define HBRIDGE14_MODE_DISABLED 0x03
154#define HBRIDGE14_MODE_INDEPENDENT 0x02
155#define HBRIDGE14_MODE_PWM 0x01
156#define HBRIDGE14_MODE_PH_EN 0x00
163#define HBRIDGE14_ITRIP_REP 0x80
164#define HBRIDGE14_TSD_MODE_AUTO 0x40
165#define HBRIDGE14_OTW_REP 0x20
166#define HBRIDGE14_DIS_CPUV 0x10
167#define HBRIDGE14_OCP_TRETRY_4_MS 0x0C
168#define HBRIDGE14_OCP_TRETRY_2_MS 0x08
169#define HBRIDGE14_OCP_TRETRY_1_MS 0x04
170#define HBRIDGE14_OCP_TRETRY_500_NS 0x00
171#define HBRIDGE14_OCP_MODE_NOT_REPORT 0x03
172#define HBRIDGE14_OCP_MODE_REPORT 0x02
173#define HBRIDGE14_OCP_MODE_RETRING 0x01
174#define HBRIDGE14_OCP_MODE_LATCHED 0x00
181#define HBRIDGE14_CLR_FLT 0x80
182#define HBRIDGE14_LOCK_REG 0x30
183#define HBRIDGE14_UNLOCK_REG 0x40
184#define HBRIDGE14_OUT1_DIS 0x08
185#define HBRIDGE14_OUT2_DIS 0x04
186#define HBRIDGE14_EN_IN1 0x02
187#define HBRIDGE14_PH_IN2 0x01
194#define HBRIDGE14_EN_OLP 0x40
195#define HBRIDGE14_OLP_DLY_300_US 0x00
196#define HBRIDGE14_OLP_DLY_1_2_MS 0x20
197#define HBRIDGE14_EN_OLA 0x10
198#define HBRIDGE14_ITRIP_LVL_7_A 0x0C
199#define HBRIDGE14_ITRIP_LVL_6_5_A 0x08
200#define HBRIDGE14_ITRIP_LVL_5_4_A 0x04
201#define HBRIDGE14_ITRIP_LVL_4_A 0x00
202#define HBRIDGE14_DIS_ITRIP_OUT1_OUT2 0x03
203#define HBRIDGE14_DIS_ITRIP_OUT2 0x02
204#define HBRIDGE14_DIS_ITRIP_OUT1 0x01
205#define HBRIDGE14_DIS_ITRIP 0x00
212#define HBRIDGE14_DEVICE_ADDRESS_A1A0_00 0x70
213#define HBRIDGE14_DEVICE_ADDRESS_A1A0_01 0x71
214#define HBRIDGE14_DEVICE_ADDRESS_A1A0_10 0x72
215#define HBRIDGE14_DEVICE_ADDRESS_A1A0_11 0x73
225#define HBRIDGE14_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
226#define HBRIDGE14_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
244#define HBRIDGE14_MAP_MIKROBUS( cfg, mikrobus ) \
245 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
246 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
247 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
248 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
249 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
250 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
251 cfg.in2 = MIKROBUS( mikrobus, MIKROBUS_AN ); \
252 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
253 cfg.in1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
254 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
err_t hbridge14_port_expander_read(hbridge14_t *ctx, uint8_t reg, uint8_t *data_out)
H-Bridge 14 port ecpander read register function.
uint8_t hbridge14_get_int_pin(hbridge14_t *ctx)
H-Bridge 14 get INT pin function.
err_t hbridge14_drive_motor(hbridge14_t *ctx, uint8_t state)
H-Bridge 14 drive motor function.
void hbridge14_set_in1_pin(hbridge14_t *ctx, uint8_t pin_state)
H-Bridge 14 set IN1 pin function.
err_t hbridge14_disable_state(hbridge14_t *ctx, uint8_t dis_state)
H-Bridge 14 control disable function.
err_t hbridge14_register_write(hbridge14_t *ctx, uint8_t reg, uint8_t data_in)
H-Bridge 14 data register writing function.
err_t hbridge14_sleep_state(hbridge14_t *ctx, uint8_t sleep_state)
H-Bridge 14 control sleep function.
err_t hbridge14_register_read(hbridge14_t *ctx, uint8_t reg, uint8_t *data_out)
H-Bridge 14 data register reading function.
void hbridge14_cfg_setup(hbridge14_cfg_t *cfg)
H-Bridge 14 configuration object setup function.
err_t hbridge14_generic_write(hbridge14_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
H-Bridge 14 data writing function.
err_t hbridge14_set_pins(hbridge14_t *ctx, uint8_t set_mask, uint8_t clr_mask)
H-Bridge 14 set pins function.
err_t hbridge14_init(hbridge14_t *ctx, hbridge14_cfg_t *cfg)
H-Bridge 14 initialization function.
uint8_t hbridge14_get_ip_pin(hbridge14_t *ctx)
H-Bridge 14 get IP pin function.
err_t hbridge14_generic_read(hbridge14_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
H-Bridge 14 data reading function.
void hbridge14_set_rst_pin(hbridge14_t *ctx, uint8_t pin_state)
H-Bridge 14 set RST pin function.
err_t hbridge14_port_expander_write(hbridge14_t *ctx, uint8_t reg, uint8_t data_in)
H-Bridge 14 port ecpander write register function.
err_t hbridge14_default_cfg(hbridge14_t *ctx)
H-Bridge 14 default configuration function.
hbridge14_return_value_t
H-Bridge 14 Click return value data.
Definition: hbridge14.h:310
@ HBRIDGE14_ERROR
Definition: hbridge14.h:312
@ HBRIDGE14_OK
Definition: hbridge14.h:311
struct hbridge14_s hbridge14_t
H-Bridge 14 Click context object.
This file contains SPI specific macros, functions, etc.
H-Bridge 14 Click configuration object.
Definition: hbridge14.h:284
uint32_t i2c_speed
Definition: hbridge14.h:296
spi_master_chip_select_polarity_t cs_polarity
Definition: hbridge14.h:301
pin_name_t in2
Definition: hbridge14.h:291
pin_name_t sck
Definition: hbridge14.h:289
spi_master_mode_t spi_mode
Definition: hbridge14.h:300
pin_name_t mosi
Definition: hbridge14.h:288
uint32_t spi_speed
Definition: hbridge14.h:299
pin_name_t scl
Definition: hbridge14.h:285
pin_name_t in1
Definition: hbridge14.h:293
pin_name_t int_pin
Definition: hbridge14.h:294
pin_name_t miso
Definition: hbridge14.h:287
pin_name_t sda
Definition: hbridge14.h:286
pin_name_t rst
Definition: hbridge14.h:292
pin_name_t cs
Definition: hbridge14.h:290
uint8_t i2c_address
Definition: hbridge14.h:297
H-Bridge 14 Click context object.
Definition: hbridge14.h:264
digital_out_t in2
Definition: hbridge14.h:265
spi_master_t spi
Definition: hbridge14.h:272
digital_in_t int_pin
Definition: hbridge14.h:269
i2c_master_t i2c
Definition: hbridge14.h:271
digital_out_t rst
Definition: hbridge14.h:266
uint8_t slave_address
Definition: hbridge14.h:274
pin_name_t chip_select
Definition: hbridge14.h:275
digital_out_t in1
Definition: hbridge14.h:267