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_spi_master.h"
73#define STEPPER16_REG_CR1 0x01
74#define STEPPER16_REG_CR2 0x02
75#define STEPPER16_REG_CR3 0x03
76#define STEPPER16_REG_CR4 0x04
77#define STEPPER16_REG_CR5 0x0B
78#define STEPPER16_REG_CR6 0x0C
79#define STEPPER16_REG_SR1 0x05
80#define STEPPER16_REG_SR2 0x06
81#define STEPPER16_REG_SR3 0x07
82#define STEPPER16_REG_SR4 0x08
83#define STEPPER16_REG_SR5 0x09
84#define STEPPER16_REG_SR6 0x0A
102#define STEPPER16_STEP_RES_FULL 0x7
103#define STEPPER16_STEP_RES_HALF 0x3
104#define STEPPER16_STEP_RES_QUARTER 0x2
105#define STEPPER16_STEP_RES_1div8 0x1
106#define STEPPER16_STEP_RES_1div16 0x0
112#define STEPPER16_SPEED_VERY_SLOW 1
113#define STEPPER16_SPEED_SLOW 2
114#define STEPPER16_SPEED_MEDIUM 3
115#define STEPPER16_SPEED_FAST 4
116#define STEPPER16_SPEED_VERY_FAST 5
134#define STEPPER16_MAP_MIKROBUS( cfg, mikrobus ) \
135 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
136 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
137 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
138 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
139 cfg.dir = MIKROBUS( mikrobus, MIKROBUS_RST ); \
140 cfg.nxt = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
141 cfg.err = MIKROBUS( mikrobus, MIKROBUS_INT )
134#define STEPPER16_MAP_MIKROBUS( cfg, mikrobus ) \ …
void stepper16_wake_up(stepper16_t *ctx)
Transimt wake up signal.
void stepper16_hard_reset(stepper16_t *ctx)
Resets device.
err_t stepper16_default_cfg(stepper16_t *ctx)
Stepper16 default configuration function.
void stepper16_cfg_setup(stepper16_cfg_t *cfg)
Stepper16 configuration object setup function.
err_t stepper16_init(stepper16_t *ctx, stepper16_cfg_t *cfg)
Stepper16 initialization function.
err_t stepper16_generic_read(stepper16_t *ctx, uint8_t reg, uint16_t *data_out)
Stepper16 data reading function.
err_t stepper16_generic_write(stepper16_t *ctx, uint8_t reg, uint16_t data_in)
Stepper16 data writing function.
void stepper16_move_motor_step(stepper16_t *ctx, uint16_t steps, uint8_t speed)
Move motor in step value.
void stepper16_calculate_resolution(stepper16_t *ctx)
Calculate step-degree resolution.
void stepper16_set_next(stepper16_t *ctx, uint8_t value)
Set next step state.
void stepper16_set_dir(stepper16_t *ctx, uint8_t value)
Set direction.
uint8_t stepper16_get_error_flag(stepper16_t *ctx)
Get error.
void stepper16_set_step_resolution(stepper16_t *ctx, uint8_t step_res)
Set step resolution.
void stepper16_move_motor_angle(stepper16_t *ctx, float degree, uint8_t speed)
Move motor in angle value.
stepper16_return_value_t
Stepper16 Click return value data.
Definition stepper16.h:206
@ STEPPER16_ERROR
Definition stepper16.h:208
@ STEPPER16_OK
Definition stepper16.h:207
Stepper16 Click configuration object.
Definition stepper16.h:182
pin_name_t nxt
Definition stepper16.h:191
spi_master_chip_select_polarity_t cs_polarity
Definition stepper16.h:197
pin_name_t sck
Definition stepper16.h:186
pin_name_t err
Definition stepper16.h:192
spi_master_mode_t spi_mode
Definition stepper16.h:196
pin_name_t mosi
Definition stepper16.h:185
uint32_t spi_speed
Definition stepper16.h:195
pin_name_t dir
Definition stepper16.h:190
pin_name_t miso
Definition stepper16.h:184
pin_name_t cs
Definition stepper16.h:187
Stepper16 Click context object.
Definition stepper16.h:151
digital_out_t cs
Definition stepper16.h:155
spi_master_t spi
Definition stepper16.h:161
uint16_t steps
Definition stepper16.h:171
uint8_t uv
Definition stepper16.h:166
float resolution
Definition stepper16.h:172
uint8_t step_resolution
Definition stepper16.h:173
uint8_t tw
Definition stepper16.h:169
digital_out_t nxt
Definition stepper16.h:154
uint8_t spierr
Definition stepper16.h:165
digital_in_t err
Definition stepper16.h:158
pin_name_t chip_select
Definition stepper16.h:162
uint8_t tsd
Definition stepper16.h:168
uint8_t eldef
Definition stepper16.h:167
digital_out_t dir
Definition stepper16.h:153