hbridgedriver2 2.0.0.0
hbridgedriver2.h File Reference

This file contains API for H-Bridge Driver 2 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"
#include "drv_pwm.h"

Go to the source code of this file.

Data Structures

struct  hbridgedriver2_t
 H-Bridge Driver 2 Click context object. More...
 
struct  hbridgedriver2_cfg_t
 H-Bridge Driver 2 Click configuration object. More...
 
struct  hbridgedriver2_dev_id_t
 H-Bridge Driver 2 Click device ID object. More...
 
struct  hbridgedriver2_ctrl_t
 H-Bridge Driver 2 Click device ID object. More...
 

Macros

#define HBRIDGEDRIVER2_CMD_REG_CTL_0   0x00
 H-Bridge Driver 2 description register.
 
#define HBRIDGEDRIVER2_CMD_REG_STAT_0   0x10
 
#define HBRIDGEDRIVER2_CMD_REG_CFG   0x3F
 
#define HBRIDGEDRIVER2_ID_REG_ID_HDR   0x00
 
#define HBRIDGEDRIVER2_ID_REG_VERSION   0x01
 
#define HBRIDGEDRIVER2_ID_REG_P_CODE_1   0x02
 
#define HBRIDGEDRIVER2_ID_REG_P_CODE_2   0x03
 
#define HBRIDGEDRIVER2_ID_REG_SPI_F_ID   0x3E
 
#define HBRIDGEDRIVER2_GLB_FLT   0x80
 H-Bridge Driver 2 description Global Fault.
 
#define HBRIDGEDRIVER2_GLB_TF   0x40
 
#define HBRIDGEDRIVER2_GLB_RESB_NORMAL   0x20
 
#define HBRIDGEDRIVER2_GLB_TSD   0x10
 
#define HBRIDGEDRIVER2_GLB_UOV_OC   0x04
 
#define HBRIDGEDRIVER2_GLB_NRDY   0x01
 
#define HBRIDGEDRIVER2_DEF_FREQ   20000
 H-Bridge Driver 2default PWM frequency.
 
#define HBRIDGEDRIVER2_ID_VAL_ID_HDR   0x4300
 H-Bridge Driver 2 description ID data.
 
#define HBRIDGEDRIVER2_ID_VAL_VERSION   0x0100
 
#define HBRIDGEDRIVER2_ID_VAL_P_CODE_1   0x7500
 
#define HBRIDGEDRIVER2_ID_VAL_P_CODE_2   0x3500
 
#define HBRIDGEDRIVER2_ID_VAL_SPI_F_ID   0x0200
 
#define HBRIDGEDRIVER2_CTL_0_HS1   0x0200
 H-Bridge Driver 2 description control data.
 
#define HBRIDGEDRIVER2_CTL_0_LS1   0x0100
 
#define HBRIDGEDRIVER2_CTL_0_HS2   0x0080
 
#define HBRIDGEDRIVER2_CTL_0_LS2   0x0040
 
#define HBRIDGEDRIVER2_CTL_0_FWH   0x0010
 
#define HBRIDGEDRIVER2_CTL_0_FWA   0x0008
 
#define HBRIDGEDRIVER2_CTL_0_OVR   0x0004
 
#define HBRIDGEDRIVER2_CTL_0_UVR   0x0002
 
#define HBRIDGEDRIVER2_CTL_0_MODE   0x0001
 
#define HBRIDGEDRIVER2_STAT_0_OCHS1   0x0200
 H-Bridge Driver 2 description status data.
 
#define HBRIDGEDRIVER2_STAT_0_OCLS1   0x0100
 
#define HBRIDGEDRIVER2_STAT_0_OCHS2   0x0080
 
#define HBRIDGEDRIVER2_STAT_0_OCLS2   0x0040
 
#define HBRIDGEDRIVER2_STAT_0_VSUV   0x0008
 
#define HBRIDGEDRIVER2_STAT_0_VSOV   0x0004
 
#define HBRIDGEDRIVER2_STAT_0_OK   0x0000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_250_NS   0x0000
 H-Bridge Driver 2 description configuration data.
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_500_NS   0x1000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_750_NS   0x2000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_1_US   0x3000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_1_25_US   0x4000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_1_5_US   0x5000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_1_75_US   0x6000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_2_US   0x7000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_2_25_US   0x8000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_2_5_US   0x9000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_2_75_US   0xA000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_3_US   0xB000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_3_25_US   0xC000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_3_5_US   0xD000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_3_75_US   0xE000
 
#define HBRIDGEDRIVER2_CFG_NOCRLH_4_US   0xF000
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_250_NS   0x0000
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_500_NS   0x0100
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_750_NS   0x0200
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_1_US   0x0300
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_1_25_US   0x0400
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_1_5_US   0x0500
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_1_75_US   0x0600
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_2_US   0x0700
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_2_25_US   0x0800
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_2_5_US   0x0900
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_2_75_US   0x0A00
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_3_US   0x0B00
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_3_25_US   0x0C00
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_3_5_US   0x0D00
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_3_75_US   0x0E00
 
#define HBRIDGEDRIVER2_CFG_NOCRHL_4_US   0x0F00
 
#define HBRIDGEDRIVER2_CFG_OCTH_0_25_V   0x0000
 
#define HBRIDGEDRIVER2_CFG_OCTH_0_5_V   0x0020
 
#define HBRIDGEDRIVER2_CFG_OCTH_0_75_V   0x0040
 
#define HBRIDGEDRIVER2_CFG_OCTH_1_V   0x0060
 
#define HBRIDGEDRIVER2_CFG_OCTH_1_25_V   0x0080
 
#define HBRIDGEDRIVER2_CFG_OCTH_1_5_V   0x0090
 
#define HBRIDGEDRIVER2_CFG_OCTH_1_75_V   0x00C0
 
#define HBRIDGEDRIVER2_CFG_OCTH_2_V   0x00E0
 
#define HBRIDGEDRIVER2_CFG_FULL_H_BRIDGE   0x0000
 
#define HBRIDGEDRIVER2_CFG_2_HALF_BRIDGES   0x0010
 
#define HBRIDGEDRIVER2_CFG_SLOW_SLEW_RATE   0x0000
 
#define HBRIDGEDRIVER2_CFG_FAST_SLEW_RATE   0x0008
 
#define HBRIDGEDRIVER2_CLEAR   0x00
 H-Bridge Driver 2 description Bit set/clear data.
 
#define HBRIDGEDRIVER2_SET   0x01
 
#define HBRIDGEDRIVER2_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define HBRIDGEDRIVER2_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define HBRIDGEDRIVER2_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  hbridgedriver2_return_value_t { HBRIDGEDRIVER2_OK = 0 , HBRIDGEDRIVER2_ERROR = -1 }
 H-Bridge Driver 2 Click return value data. More...
 

Functions

void hbridgedriver2_cfg_setup (hbridgedriver2_cfg_t *cfg)
 H-Bridge Driver 2 configuration object setup function.
 
err_t hbridgedriver2_init (hbridgedriver2_t *ctx, hbridgedriver2_cfg_t *cfg)
 H-Bridge Driver 2 initialization function.
 
err_t hbridgedriver2_default_cfg (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 default configuration function.
 
err_t hbridgedriver2_enable (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 enable function.
 
err_t hbridgedriver2_disable (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 disable function.
 
err_t hbridgedriver2_write_reg (hbridgedriver2_t *ctx, uint8_t reg, uint8_t *global_fault, uint16_t data_in)
 H-Bridge Driver 2 data writing function.
 
err_t hbridgedriver2_read_reg (hbridgedriver2_t *ctx, uint8_t reg, uint8_t *global_fault, uint16_t *data_out)
 H-Bridge Driver 2 data reading function.
 
err_t hbridgedriver2_read_clear_reg (hbridgedriver2_t *ctx, uint8_t reg, uint8_t *global_fault, uint16_t *data_out)
 H-Bridge Driver 2 data read and clear function.
 
err_t hbridgedriver2_read_id (hbridgedriver2_t *ctx, uint8_t reg, uint8_t *global_fault, uint16_t *data_out)
 H-Bridge Driver 2 data read ID function.
 
err_t hbridgedriver2_set_active_mode (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 set active mode function.
 
err_t hbridgedriver2_get_status (hbridgedriver2_t *ctx, uint16_t *status)
 H-Bridge Driver 2 get status function.
 
err_t hbridgedriver2_get_control (hbridgedriver2_t *ctx, uint16_t *control)
 H-Bridge Driver 2 get control function.
 
err_t hbridgedriver2_set_control (hbridgedriver2_t *ctx, uint8_t *global_fault, uint16_t control)
 H-Bridge Driver 2 set control function.
 
err_t hbridgedriver2_get_config (hbridgedriver2_t *ctx, uint16_t *config)
 H-Bridge Driver 2 get config function.
 
err_t hbridgedriver2_set_config (hbridgedriver2_t *ctx, uint8_t *global_fault, uint16_t config)
 H-Bridge Driver 2 set config function.
 
err_t hbridgedriver2_get_device_id (hbridgedriver2_t *ctx, uint8_t *global_fault, hbridgedriver2_dev_id_t *dev_id)
 H-Bridge Driver 2 get device ID function.
 
err_t hbridgedriver2_control (hbridgedriver2_t *ctx, uint8_t *global_fault, hbridgedriver2_ctrl_t dev_ctrl)
 H-Bridge Driver 2 control function.
 
err_t hbridgedriver2_run_backward (hbridgedriver2_t *ctx, uint8_t *global_fault)
 H-Bridge Driver 2 run backward function.
 
err_t hbridgedriver2_run_forward (hbridgedriver2_t *ctx, uint8_t *global_fault)
 H-Bridge Driver 2 run forward function.
 
err_t hbridgedriver2_stop (hbridgedriver2_t *ctx, uint8_t *global_fault)
 H-Bridge Driver 2 stop function.
 
err_t hbridgedriver2_stop_with_brake (hbridgedriver2_t *ctx, uint8_t *global_fault)
 H-Bridge Driver 2 stop with brake function.
 
err_t hbridgedriver2_set_duty_cycle (hbridgedriver2_t *ctx, float duty_cycle)
 H-Bridge Driver 2 sets PWM duty cycle.
 
err_t hbridgedriver2_pwm_stop (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 stop PWM module.
 
err_t hbridgedriver2_pwm_start (hbridgedriver2_t *ctx)
 H-Bridge Driver 2 start PWM module.
 

Detailed Description

This file contains API for H-Bridge Driver 2 Click Driver.

Enumeration Type Documentation

◆ hbridgedriver2_return_value_t

H-Bridge Driver 2 Click return value data.

Predefined enum values for driver return values.

Enumerator
HBRIDGEDRIVER2_OK 
HBRIDGEDRIVER2_ERROR