stepper22  2.1.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions
stepper22.h File Reference

This file contains API for Stepper 22 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"
#include "drv_analog_in.h"

Go to the source code of this file.

Data Structures

struct  stepper22_s
 Stepper 22 Click context object. More...
 
struct  stepper22_cfg_t
 Stepper 22 Click configuration object. More...
 

Macros

#define STEPPER22_REG_CTRL   0x00
 Stepper 22 registers list. More...
 
#define STEPPER22_REG_TORQUE   0x01
 
#define STEPPER22_REG_OFF   0x02
 
#define STEPPER22_REG_BLANK   0x03
 
#define STEPPER22_REG_DECAY   0x04
 
#define STEPPER22_REG_STALL   0x05
 
#define STEPPER22_REG_DRIVE   0x06
 
#define STEPPER22_REG_STATUS   0x07
 
#define STEPPER22_PCA9538A_REG_INPUT   0x00
 Stepper 22 PCA9538A registers. More...
 
#define STEPPER22_PCA9538A_REG_OUTPUT   0x01
 
#define STEPPER22_PCA9538A_REG_POLARITY   0x02
 
#define STEPPER22_PCA9538A_REG_CONFIG   0x03
 
#define STEPPER22_CTRL_DTIME_400_NS   0x0000
 Stepper 22 CTRL register settings. More...
 
#define STEPPER22_CTRL_DTIME_450_NS   0x0400
 
#define STEPPER22_CTRL_DTIME_650_NS   0x0800
 
#define STEPPER22_CTRL_DTIME_850_NS   0x0C00
 
#define STEPPER22_CTRL_DTIME_MASK   0x0C00
 
#define STEPPER22_CTRL_ISGAIN_5   0x0000
 
#define STEPPER22_CTRL_ISGAIN_10   0x0100
 
#define STEPPER22_CTRL_ISGAIN_20   0x0200
 
#define STEPPER22_CTRL_ISGAIN_40   0x0300
 
#define STEPPER22_CTRL_ISGAIN_MASK   0x0300
 
#define STEPPER22_CTRL_EXSTALL_INT_STALL   0x0000
 
#define STEPPER22_CTRL_EXSTALL_EXT_STALL   0x0080
 
#define STEPPER22_CTRL_EXSTALL_MASK   0x0080
 
#define STEPPER22_CTRL_MODE_FULL_STEP   0x0000
 
#define STEPPER22_CTRL_MODE_HALF_STEP   0x0008
 
#define STEPPER22_CTRL_MODE_QUARTER_STEP   0x0010
 
#define STEPPER22_CTRL_MODE_1_OVER_8   0x0018
 
#define STEPPER22_CTRL_MODE_1_OVER_16   0x0020
 
#define STEPPER22_CTRL_MODE_1_OVER_32   0x0028
 
#define STEPPER22_CTRL_MODE_1_OVER_64   0x0030
 
#define STEPPER22_CTRL_MODE_1_OVER_128   0x0038
 
#define STEPPER22_CTRL_MODE_1_OVER_256   0x0040
 
#define STEPPER22_CTRL_MODE_MASK   0x0078
 
#define STEPPER22_CTRL_RSTEP_NO_ACTION   0x0000
 
#define STEPPER22_CTRL_RSTEP_ADV_1_STEP   0x0004
 
#define STEPPER22_CTRL_RSTEP_MASK   0x0004
 
#define STEPPER22_CTRL_RDIR_DIR_PIN   0x0000
 
#define STEPPER22_CTRL_RDIR_INV_DIR_PIN   0x0002
 
#define STEPPER22_CTRL_RDIR_MASK   0x0002
 
#define STEPPER22_CTRL_ENBL_MOTOR_DISABLE   0x0000
 
#define STEPPER22_CTRL_ENBL_MOTOR_ENABLE   0x0001
 
#define STEPPER22_CTRL_ENBL_MASK   0x0001
 
#define STEPPER22_TORQUE_SMPLTH_50_US   0x0000
 Stepper 22 TORQUE register settings. More...
 
#define STEPPER22_TORQUE_SMPLTH_100_US   0x0100
 
#define STEPPER22_TORQUE_SMPLTH_200_US   0x0200
 
#define STEPPER22_TORQUE_SMPLTH_300_US   0x0300
 
#define STEPPER22_TORQUE_SMPLTH_400_US   0x0400
 
#define STEPPER22_TORQUE_SMPLTH_600_US   0x0500
 
#define STEPPER22_TORQUE_SMPLTH_800_US   0x0600
 
#define STEPPER22_TORQUE_SMPLTH_1000_US   0x0700
 
#define STEPPER22_TORQUE_SMPLTH_MASK   0x0700
 
#define STEPPER22_TORQUE_TORQUE_DEFAULT   0x0000
 
#define STEPPER22_TORQUE_TORQUE_MASK   0x00FF
 
#define STEPPER22_OFF_PWMMODE_USE_INDEXER   0x0000
 Stepper 22 OFF register settings. More...
 
#define STEPPER22_OFF_PWMMODE_BYPASS_INDEXER   0x0100
 
#define STEPPER22_OFF_PWMMODE_MASK   0x0100
 
#define STEPPER22_OFF_TOFF_24_5_US   0x0030
 
#define STEPPER22_OFF_TOFF_MASK   0x00FF
 
#define STEPPER22_BLANK_ABT_DISABLE   0x0000
 Stepper 22 BLANK register settings. More...
 
#define STEPPER22_BLANK_ABT_ENABLE   0x0100
 
#define STEPPER22_BLANK_ABT_MASK   0x0100
 
#define STEPPER22_BLANK_TBLANK_2_58_US   0x0080
 
#define STEPPER22_BLANK_TBLANK_MASK   0x00FF
 
#define STEPPER22_DECAY_DECMOD_FORCE_SLOW   0x0000
 Stepper 22 DECAY register settings. More...
 
#define STEPPER22_DECAY_DECMOD_SLOW_MIXED   0x0100
 
#define STEPPER22_DECAY_DECMOD_FORCE_FAST   0x0200
 
#define STEPPER22_DECAY_DECMOD_MIXED   0x0300
 
#define STEPPER22_DECAY_DECMOD_SLOW_AUTO_MIXED   0x0400
 
#define STEPPER22_DECAY_DECMOD_AUTO_MIXED   0x0500
 
#define STEPPER22_DECAY_DECMOD_MASK   0x0700
 
#define STEPPER22_DECAY_TDECAY_8_5_US   0x0010
 
#define STEPPER22_DECAY_TDECAY_MASK   0x00FF
 
#define STEPPER22_STALL_VDIV_DIV_32   0x0000
 Stepper 22 STALL register settings. More...
 
#define STEPPER22_STALL_VDIV_DIV_16   0x0400
 
#define STEPPER22_STALL_VDIV_DIV_8   0x0800
 
#define STEPPER22_STALL_VDIV_DIV_4   0x0C00
 
#define STEPPER22_STALL_VDIV_MASK   0x0C00
 
#define STEPPER22_STALL_SDCNT_1_STEP   0x0000
 
#define STEPPER22_STALL_SDCNT_2_STEPS   0x0100
 
#define STEPPER22_STALL_SDCNT_4_STEPS   0x0200
 
#define STEPPER22_STALL_SDCNT_8_STEPS   0x0300
 
#define STEPPER22_STALL_SDCNT_MASK   0x0300
 
#define STEPPER22_STALL_SDTHR_DEFAULT   0x0040
 
#define STEPPER22_STALL_SDTHR_MASK   0x00FF
 
#define STEPPER22_DRIVE_IDRIVEP_50_MA   0x0000
 Stepper 22 DRIVE register settings. More...
 
#define STEPPER22_DRIVE_IDRIVEP_100_MA   0x0400
 
#define STEPPER22_DRIVE_IDRIVEP_150_MA   0x0800
 
#define STEPPER22_DRIVE_IDRIVEP_200_MA   0x0C00
 
#define STEPPER22_DRIVE_IDRIVEP_MASK   0x0C00
 
#define STEPPER22_DRIVE_IDRIVEN_100_MA   0x0000
 
#define STEPPER22_DRIVE_IDRIVEN_200_MA   0x0100
 
#define STEPPER22_DRIVE_IDRIVEN_300_MA   0x0200
 
#define STEPPER22_DRIVE_IDRIVEN_400_MA   0x0300
 
#define STEPPER22_DRIVE_IDRIVEN_MASK   0x0300
 
#define STEPPER22_DRIVE_TDRIVEP_250_NS   0x0000
 
#define STEPPER22_DRIVE_TDRIVEP_500_NS   0x0040
 
#define STEPPER22_DRIVE_TDRIVEP_1_US   0x0080
 
#define STEPPER22_DRIVE_TDRIVEP_2_US   0x00C0
 
#define STEPPER22_DRIVE_TDRIVEP_MASK   0x00C0
 
#define STEPPER22_DRIVE_TDRIVEN_250_NS   0x0000
 
#define STEPPER22_DRIVE_TDRIVEN_500_NS   0x0010
 
#define STEPPER22_DRIVE_TDRIVEN_1_US   0x0020
 
#define STEPPER22_DRIVE_TDRIVEN_2_US   0x0030
 
#define STEPPER22_DRIVE_TDRIVEN_MASK   0x0030
 
#define STEPPER22_DRIVE_OCPDEG_1_US   0x0000
 
#define STEPPER22_DRIVE_OCPDEG_2_US   0x0004
 
#define STEPPER22_DRIVE_OCPDEG_4_US   0x0008
 
#define STEPPER22_DRIVE_OCPDEG_8_US   0x000C
 
#define STEPPER22_DRIVE_OCPDEG_MASK   0x000C
 
#define STEPPER22_DRIVE_OCPTH_250_MV   0x0000
 
#define STEPPER22_DRIVE_OCPTH_500_MV   0x0001
 
#define STEPPER22_DRIVE_OCPTH_750_MV   0x0002
 
#define STEPPER22_DRIVE_OCPTH_1000_MV   0x0003
 
#define STEPPER22_DRIVE_OCPTH_MASK   0x0003
 
#define STEPPER22_STATUS_STDLAT   0x0080
 Stepper 22 STATUS register settings. More...
 
#define STEPPER22_STATUS_STD   0x0040
 
#define STEPPER22_STATUS_UVLO   0x0020
 
#define STEPPER22_STATUS_BPDF   0x0010
 
#define STEPPER22_STATUS_APDF   0x0008
 
#define STEPPER22_STATUS_BOCP   0x0004
 
#define STEPPER22_STATUS_AOCP   0x0002
 
#define STEPPER22_STATUS_OTS   0x0001
 
#define STEPPER22_STATUS_CLEAR_ALL   0x0000
 
#define STEPPER22_PIN_STALL   0x02
 Stepper 22 PCA9538A pin mask. More...
 
#define STEPPER22_PIN_FAULT   0x04
 
#define STEPPER22_PIN_BIN2   0x08
 
#define STEPPER22_PIN_BIN1   0x10
 
#define STEPPER22_PIN_DIR   0x20
 
#define STEPPER22_PIN_RESET   0x40
 
#define STEPPER22_PIN_SLEEP   0x80
 
#define STEPPER22_PCA9538A_DEFAULT_CONFIG   0x07
 Stepper 22 PCA9538A pin direction config. More...
 
#define STEPPER22_DIR_CW   0
 Stepper 22 direction setting. More...
 
#define STEPPER22_DIR_CCW   1
 
#define STEPPER22_PIN_STATE_LOW   0
 Stepper 22 pin logic state setting. More...
 
#define STEPPER22_PIN_STATE_HIGH   1
 
#define STEPPER22_SPEED_VERY_SLOW   0
 Stepper 22 device speed settings. More...
 
#define STEPPER22_SPEED_SLOW   1
 
#define STEPPER22_SPEED_MEDIUM   2
 
#define STEPPER22_SPEED_FAST   3
 
#define STEPPER22_SPEED_VERY_FAST   4
 
#define STEPPER22_MODE_FULL_STEP   0
 Stepper 22 step resolution setting. More...
 
#define STEPPER22_MODE_HALF_STEP   1
 
#define STEPPER22_MODE_QUARTER_STEP   2
 
#define STEPPER22_MODE_1_OVER_8   3
 
#define STEPPER22_MODE_1_OVER_16   4
 
#define STEPPER22_MODE_1_OVER_32   5
 
#define STEPPER22_MODE_1_OVER_64   6
 
#define STEPPER22_MODE_1_OVER_128   7
 
#define STEPPER22_MODE_1_OVER_256   8
 
#define STEPPER22_DEVICE_ADDRESS_A1A0_00   0x70
 Stepper 22 device address setting. More...
 
#define STEPPER22_DEVICE_ADDRESS_A1A0_01   0x71
 
#define STEPPER22_DEVICE_ADDRESS_A1A0_10   0x72
 
#define STEPPER22_DEVICE_ADDRESS_A1A0_11   0x73
 
#define STEPPER22_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection. More...
 
#define STEPPER22_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define STEPPER22_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Typedefs

typedef struct stepper22_s stepper22_t
 Stepper 22 Click context object. More...
 

Enumerations

enum  stepper22_return_value_t { STEPPER22_OK = 0, STEPPER22_ERROR = -1 }
 Stepper 22 Click return value data. More...
 

Functions

void stepper22_cfg_setup (stepper22_cfg_t *cfg)
 Stepper 22 configuration object setup function. More...
 
err_t stepper22_init (stepper22_t *ctx, stepper22_cfg_t *cfg)
 Stepper 22 initialization function. More...
 
err_t stepper22_default_cfg (stepper22_t *ctx)
 Stepper 22 default configuration function. More...
 
err_t stepper22_write_reg (stepper22_t *ctx, uint8_t reg, uint16_t data_in)
 Stepper 22 write reg function. More...
 
err_t stepper22_read_reg (stepper22_t *ctx, uint8_t reg, uint16_t *data_out)
 Stepper 22 read reg function. More...
 
err_t stepper22_pca_write_reg (stepper22_t *ctx, uint8_t reg, uint8_t data_in)
 Stepper 22 pca write reg function. More...
 
err_t stepper22_pca_read_reg (stepper22_t *ctx, uint8_t reg, uint8_t *data_out)
 Stepper 22 pca read reg function. More...
 
err_t stepper22_read_bemf_voltage (stepper22_t *ctx, float *data_out)
 Stepper 22 read BEMF pin voltage level function. More...
 
err_t stepper22_get_stall_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get STALL pin function. More...
 
err_t stepper22_get_fault_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get FAULT pin function. More...
 
err_t stepper22_get_bin2_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get BIN2 pin function. More...
 
err_t stepper22_set_bin2_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set BIN2 pin function. More...
 
err_t stepper22_get_bin1_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get BIN1 pin function. More...
 
err_t stepper22_set_bin1_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set BIN1 pin function. More...
 
err_t stepper22_get_dir_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get DIR pin function. More...
 
err_t stepper22_set_dir_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set DIR pin function. More...
 
err_t stepper22_get_reset_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get RESET pin function. More...
 
err_t stepper22_set_reset_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set RESET pin function. More...
 
err_t stepper22_get_sleep_pin (stepper22_t *ctx, uint8_t *state)
 Stepper 22 get SLEEP pin function. More...
 
err_t stepper22_set_sleep_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set SLEEP pin function. More...
 
err_t stepper22_enable_device (stepper22_t *ctx)
 Stepper 22 enable device function. More...
 
err_t stepper22_disable_device (stepper22_t *ctx)
 Stepper 22 disable device function. More...
 
err_t stepper22_set_direction (stepper22_t *ctx, uint8_t dir)
 Stepper 22 set direction function. More...
 
err_t stepper22_switch_direction (stepper22_t *ctx)
 Stepper 22 switch direction function. More...
 
void stepper22_reset_pca (stepper22_t *ctx)
 Stepper 22 reset device function. More...
 
void stepper22_set_rst_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set RST pin function. More...
 
void stepper22_set_step_pin (stepper22_t *ctx, uint8_t state)
 Stepper 22 set STEP pin function. More...
 
uint8_t stepper22_get_int_pin (stepper22_t *ctx)
 Stepper 22 get INT pin function. More...
 
err_t stepper22_get_step_mode (stepper22_t *ctx, uint8_t *mode)
 Stepper 22 get step mode function. More...
 
err_t stepper22_set_step_mode (stepper22_t *ctx, uint8_t mode)
 Stepper 22 set step mode function. More...
 
err_t stepper22_drive_motor (stepper22_t *ctx, uint32_t steps, uint8_t speed)
 Stepper 22 driver motor function. More...
 

Detailed Description

This file contains API for Stepper 22 Click Driver.

Typedef Documentation

◆ stepper22_t

typedef struct stepper22_s stepper22_t

Stepper 22 Click context object.

Context object definition of Stepper 22 Click driver.

Enumeration Type Documentation

◆ stepper22_return_value_t

Stepper 22 Click return value data.

Predefined enum values for driver return values.

Enumerator
STEPPER22_OK 
STEPPER22_ERROR