Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
stepper.h File Reference

Public API for Stepper Driver. More...

#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <errno.h>
#include <zephyr/syscalls/stepper.h>

Go to the source code of this file.

Macros

#define MICRO_STEP_RES_INDEX(res)   LOG2(res)
 

Enumerations

enum  stepper_micro_step_resolution {
  STEPPER_MICRO_STEP_1 = 1 , STEPPER_MICRO_STEP_2 = 2 , STEPPER_MICRO_STEP_4 = 4 , STEPPER_MICRO_STEP_8 = 8 ,
  STEPPER_MICRO_STEP_16 = 16 , STEPPER_MICRO_STEP_32 = 32 , STEPPER_MICRO_STEP_64 = 64 , STEPPER_MICRO_STEP_128 = 128 ,
  STEPPER_MICRO_STEP_256 = 256
}
 Stepper Motor micro step resolution options. More...
 
enum  stepper_direction { STEPPER_DIRECTION_NEGATIVE = 0 , STEPPER_DIRECTION_POSITIVE = 1 }
 Stepper Motor direction options. More...
 
enum  stepper_run_mode { STEPPER_RUN_MODE_HOLD = 0 , STEPPER_RUN_MODE_POSITION = 1 , STEPPER_RUN_MODE_VELOCITY = 2 }
 Stepper Motor run mode options. More...
 
enum  stepper_event { STEPPER_EVENT_STEPS_COMPLETED = 0 , STEPPER_EVENT_STALL_DETECTED = 1 , STEPPER_EVENT_LEFT_END_STOP_DETECTED = 2 , STEPPER_EVENT_RIGHT_END_STOP_DETECTED = 3 }
 Stepper Events. More...
 

Functions

int stepper_enable (const struct device *dev, const bool enable)
 Enable or Disable Motor Controller.
 
int stepper_move (const struct device *dev, int32_t micro_steps)
 Set the micro_steps to be moved from the current position i.e.
 
int stepper_set_max_velocity (const struct device *dev, uint32_t micro_steps_per_second)
 Set the target velocity to be reached by the motor.
 
int stepper_set_micro_step_res (const struct device *dev, enum stepper_micro_step_resolution resolution)
 Set the microstep resolution in stepper motor controller.
 
int stepper_get_micro_step_res (const struct device *dev, enum stepper_micro_step_resolution *resolution)
 Get the microstep resolution in stepper motor controller.
 
int stepper_set_actual_position (const struct device *dev, int32_t value)
 Set the actual a.k.a reference position of the stepper.
 
int stepper_get_actual_position (const struct device *dev, int32_t *value)
 Get the actual a.k.a reference position of the stepper.
 
int stepper_set_target_position (const struct device *dev, int32_t value)
 Set the absolute target position of the stepper.
 
int stepper_is_moving (const struct device *dev, bool *is_moving)
 Check if the stepper motor is currently moving.
 
int stepper_enable_constant_velocity_mode (const struct device *dev, enum stepper_direction direction, uint32_t value)
 Enable constant velocity mode for the stepper with a given velocity.
 
int stepper_set_callback (const struct device *dev, stepper_event_callback_t callback, void *user_data)
 Set the callback function to be called when a stepper event occurs.
 

Detailed Description

Public API for Stepper Driver.