silentstep 2.1.0.0
silentstep.h File Reference

This file contains API for Silent Step Click Driver. More...

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

Go to the source code of this file.

Data Structures

struct  silentstep_t
 Silent Step Click context object. More...
 
struct  silentstep_cfg_t
 Silent Step Click configuration object. More...
 

Macros

#define SILENTSTEP_REG_GCONF   0x00
 Silent Step registers.
 
#define SILENTSTEP_REG_GSTAT   0x01
 
#define SILENTSTEP_REG_IFCNT   0x02
 
#define SILENTSTEP_REG_SLAVECONF   0x03
 
#define SILENTSTEP_REG_IOIN   0x04
 
#define SILENTSTEP_REG_X_COMPARE   0x05
 
#define SILENTSTEP_REG_IHOLD_IRUN   0x10
 
#define SILENTSTEP_REG_TPOWERDOWN   0x11
 
#define SILENTSTEP_REG_TSTEP   0x12
 
#define SILENTSTEP_REG_TPWMTHRS   0x13
 
#define SILENTSTEP_REG_TCOOLTHRS   0x14
 
#define SILENTSTEP_REG_THIGH   0x15
 
#define SILENTSTEP_REG_RAMP_MODE   0x20
 
#define SILENTSTEP_REG_XACTUAL   0x21
 
#define SILENTSTEP_REG_VACTUAL   0x22
 
#define SILENTSTEP_REG_VSTART   0x23
 
#define SILENTSTEP_REG_A1   0x24
 
#define SILENTSTEP_REG_V1   0x25
 
#define SILENTSTEP_REG_AMAX   0x26
 
#define SILENTSTEP_REG_VMAX   0x27
 
#define SILENTSTEP_REG_DMAX   0x28
 
#define SILENTSTEP_REG_D1   0x2A
 
#define SILENTSTEP_REG_VSTOP   0x2B
 
#define SILENTSTEP_REG_TZEROWAIT   0x2C
 
#define SILENTSTEP_REG_XTARGET   0x2D
 
#define SILENTSTEP_REG_VDCMIN   0x33
 
#define SILENTSTEP_REG_SW_MODE   0x34
 
#define SILENTSTEP_REG_RAMP_STAT   0x35
 
#define SILENTSTEP_REG_XLATCH   0x36
 
#define SILENTSTEP_REG_ENCMODE   0x38
 
#define SILENTSTEP_REG_X_ENC   0x39
 
#define SILENTSTEP_REG_ENC_CONST   0x3A
 
#define SILENTSTEP_REG_ENC_STATUS   0x3B
 
#define SILENTSTEP_REG_ENC_LATCH   0x3C
 
#define SILENTSTEP_REG_MSLUT_0   0x60
 
#define SILENTSTEP_REG_MSLUT_1   0x61
 
#define SILENTSTEP_REG_MSLUT_2   0x62
 
#define SILENTSTEP_REG_MSLUT_3   0x63
 
#define SILENTSTEP_REG_MSLUT_4   0x64
 
#define SILENTSTEP_REG_MSLUT_5   0x65
 
#define SILENTSTEP_REG_MSLUT_6   0x66
 
#define SILENTSTEP_REG_MSLUT_7   0x67
 
#define SILENTSTEP_REG_MSLUTSEL   0x68
 
#define SILENTSTEP_REG_MSLUTSTART   0x69
 
#define SILENTSTEP_REG_MSCNT   0x6A
 
#define SILENTSTEP_REG_MSCURACT   0x6B
 
#define SILENTSTEP_REG_CHOPCONF   0x6C
 
#define SILENTSTEP_REG_COOLCONF   0x6D
 
#define SILENTSTEP_REG_DCCTRL   0x6E
 
#define SILENTSTEP_REG_DRV_STATUS   0x6F
 
#define SILENTSTEP_REG_PWMCONF   0x70
 
#define SILENTSTEP_REG_PWM_SCALE   0x71
 
#define SILENTSTEP_REG_ENCM_CTRL   0x72
 
#define SILENTSTEP_REG_LOST_STEPS   0x73
 
#define SILENTSTEP_IOIN_VERSION_MASK   0xFF000000ul
 Silent Step version settings.
 
#define SILENTSTEP_IOIN_VERSION_DEFAULT   0x11000000ul
 
#define SILENTSTEP_DIR_CW   0
 Silent Step direction setting.
 
#define SILENTSTEP_DIR_CCW   1
 
#define SILENTSTEP_PIN_STATE_LOW   0
 Silent Step pin logic state setting.
 
#define SILENTSTEP_PIN_STATE_HIGH   1
 
#define SILENTSTEP_SPEED_VERY_SLOW   0
 Silent Step device speed settings.
 
#define SILENTSTEP_SPEED_SLOW   1
 
#define SILENTSTEP_SPEED_MEDIUM   2
 
#define SILENTSTEP_SPEED_FAST   3
 
#define SILENTSTEP_SPEED_VERY_FAST   4
 
#define SILENTSTEP_TOFF_MASK   0x0000000Ful
 Silent Step off time settings.
 
#define SILENTSTEP_TOFF_SHIFT   0
 
#define SILENTSTEP_TOFF_DRIVER_DISABLE   0
 
#define SILENTSTEP_TOFF_MIN   1
 
#define SILENTSTEP_TOFF_DEFAULT   4
 
#define SILENTSTEP_TOFF_MAX   15
 
#define SILENTSTEP_MRES_MASK   0x0F000000ul
 Silent Step step resolution settings.
 
#define SILENTSTEP_MRES_SHIFT   24
 
#define SILENTSTEP_MRES_256   0
 
#define SILENTSTEP_MRES_128   1
 
#define SILENTSTEP_MRES_64   2
 
#define SILENTSTEP_MRES_32   3
 
#define SILENTSTEP_MRES_16   4
 
#define SILENTSTEP_MRES_8   5
 
#define SILENTSTEP_MRES_4   6
 
#define SILENTSTEP_MRES_2   7
 
#define SILENTSTEP_MRES_FULLSTEP   8
 
#define SILENTSTEP_IRUN_MASK   0x00000F00ul
 Silent Step run current settings.
 
#define SILENTSTEP_IRUN_SHIFT   8
 
#define SILENTSTEP_IRUN_MIN   0
 
#define SILENTSTEP_IRUN_DEFAULT   2
 
#define SILENTSTEP_IRUN_MAX   31
 
#define SILENTSTEP_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define SILENTSTEP_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define SILENTSTEP_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  silentstep_return_value_t { SILENTSTEP_OK = 0 , SILENTSTEP_ERROR = -1 }
 Silent Step Click return value data. More...
 

Functions

void silentstep_cfg_setup (silentstep_cfg_t *cfg)
 Silent Step configuration object setup function.
 
err_t silentstep_init (silentstep_t *ctx, silentstep_cfg_t *cfg)
 Silent Step initialization function.
 
err_t silentstep_default_cfg (silentstep_t *ctx)
 Silent Step default configuration function.
 
err_t silentstep_write_reg (silentstep_t *ctx, uint8_t reg, uint32_t data_in)
 Silent Step write reg function.
 
err_t silentstep_read_reg (silentstep_t *ctx, uint8_t reg, uint32_t *data_out)
 Silent Step read reg function.
 
err_t silentstep_check_com (silentstep_t *ctx)
 Silent Step check com function.
 
void silentstep_set_direction (silentstep_t *ctx, uint8_t dir)
 Silent Step set direction function.
 
void silentstep_switch_direction (silentstep_t *ctx)
 Silent Step switch direction function.
 
void silentstep_set_spm_pin (silentstep_t *ctx, uint8_t state)
 Silent Step set spm pin function.
 
void silentstep_set_sdm_pin (silentstep_t *ctx, uint8_t state)
 Silent Step set sdm pin function.
 
void silentstep_set_step_pin (silentstep_t *ctx, uint8_t state)
 Silent Step set step pin function.
 
err_t silentstep_set_toff (silentstep_t *ctx, uint8_t toff)
 Silent Step set toff function.
 
err_t silentstep_set_step_res (silentstep_t *ctx, uint8_t mres)
 Silent Step set step res function.
 
err_t silentstep_set_run_current (silentstep_t *ctx, uint8_t irun)
 Silent Step set run current function.
 
void silentstep_drive_motor (silentstep_t *ctx, uint32_t steps, uint8_t speed)
 Silent Step driver motor function.
 

Detailed Description

This file contains API for Silent Step Click Driver.

Enumeration Type Documentation

◆ silentstep_return_value_t

Silent Step Click return value data.

Predefined enum values for driver return values.

Enumerator
SILENTSTEP_OK 
SILENTSTEP_ERROR