|
Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
|
Interfaces for stepper motion controllers. More...
Files | |
| file | stepper_ctrl.h |
| Main header file for stepper motion controller driver API. | |
Enumerations | |
| enum | stepper_ctrl_direction { STEPPER_CTRL_DIRECTION_NEGATIVE = 0 , STEPPER_CTRL_DIRECTION_POSITIVE = 1 } |
| Stepper Motion Controller direction options. More... | |
| enum | stepper_ctrl_run_mode { STEPPER_CTRL_RUN_MODE_HOLD = 0 , STEPPER_CTRL_RUN_MODE_POSITION = 1 , STEPPER_CTRL_RUN_MODE_VELOCITY = 2 } |
| Stepper Motion Controller run mode options. More... | |
| enum | stepper_ctrl_event { STEPPER_CTRL_EVENT_STEPS_COMPLETED = 0 , STEPPER_CTRL_EVENT_LEFT_END_STOP_DETECTED = 1 , STEPPER_CTRL_EVENT_RIGHT_END_STOP_DETECTED = 2 , STEPPER_CTRL_EVENT_STOPPED = 3 } |
| Stepper Motion Controller Events. More... | |
Functions | |
| int | stepper_ctrl_set_reference_position (const struct device *dev, const int32_t value) |
| Set the reference position. | |
| int | stepper_ctrl_get_actual_position (const struct device *dev, int32_t *value) |
| Get the actual step count. | |
| int | stepper_ctrl_set_event_cb (const struct device *dev, stepper_ctrl_event_callback_t callback, void *user_data) |
| Set the callback function to be called when a stepper motion controller event occurs. | |
| int | stepper_ctrl_set_microstep_interval (const struct device *dev, const uint64_t microstep_interval_ns) |
| Set the time interval between steps in nanoseconds with immediate effect. | |
| int | stepper_ctrl_move_by (const struct device *dev, const int32_t micro_steps) |
| Set the micro-steps to be moved from the current position i.e. | |
| int | stepper_ctrl_move_to (const struct device *dev, const int32_t micro_steps) |
| Set the absolute target position of the stepper. | |
| int | stepper_ctrl_run (const struct device *dev, const enum stepper_ctrl_direction direction) |
| Run the stepper with a given step interval in a given direction. | |
| int | stepper_ctrl_stop (const struct device *dev) |
| Stop the stepper. | |
| int | stepper_ctrl_is_moving (const struct device *dev, bool *is_moving) |
| Check if the stepper is currently moving. | |
Interfaces for stepper motion controllers.
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Stepper Motion Controller direction options.
| Enumerator | |
|---|---|
| STEPPER_CTRL_DIRECTION_NEGATIVE | Negative direction. |
| STEPPER_CTRL_DIRECTION_POSITIVE | Positive direction. |
| enum stepper_ctrl_event |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Stepper Motion Controller Events.
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Stepper Motion Controller run mode options.
| Enumerator | |
|---|---|
| STEPPER_CTRL_RUN_MODE_HOLD | Hold Mode. |
| STEPPER_CTRL_RUN_MODE_POSITION | Position Mode. |
| STEPPER_CTRL_RUN_MODE_VELOCITY | Velocity Mode. |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Get the actual step count.
| dev | pointer to the device structure for the driver instance. |
| value | The actual position to get in micro-steps |
| -EIO | General input / output error |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Check if the stepper is currently moving.
| dev | pointer to the device structure for the driver instance. |
| is_moving | Pointer to a boolean to store the moving status of the stepper |
| -EIO | General input / output error |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Set the micro-steps to be moved from the current position i.e.
relative movement
| dev | pointer to the device structure for the driver instance. |
| micro_steps | target micro-steps to be moved from the current position |
| -EIO | General input / output error |
| -EINVAL | If the timing for steps is incorrectly configured |
| 0 | Success |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Set the absolute target position of the stepper.
| dev | pointer to the device structure for the driver instance. |
| micro_steps | target position to set in micro-steps |
| -EIO | General input / output error |
| -EINVAL | If the timing for steps is incorrectly configured |
| 0 | Success |
| int stepper_ctrl_run | ( | const struct device * | dev, |
| const enum stepper_ctrl_direction | direction ) |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Run the stepper with a given step interval in a given direction.
| dev | pointer to the device structure for the driver instance. |
| direction | The direction to set |
| -EIO | General input / output error |
| -EINVAL | If the timing for steps is incorrectly configured |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
| int stepper_ctrl_set_event_cb | ( | const struct device * | dev, |
| stepper_ctrl_event_callback_t | callback, | ||
| void * | user_data ) |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Set the callback function to be called when a stepper motion controller event occurs.
| dev | pointer to the device structure for the driver instance. |
| callback | Callback function to be called when a stepper motion controller event occurs passing NULL will disable the callback |
| user_data | User data to be passed to the callback function |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
| int stepper_ctrl_set_microstep_interval | ( | const struct device * | dev, |
| const uint64_t | microstep_interval_ns ) |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Set the time interval between steps in nanoseconds with immediate effect.
| dev | pointer to the device structure for the driver instance. |
| microstep_interval_ns | time interval between steps in nanoseconds |
| -EIO | General input / output error |
| -EINVAL | If the requested step interval is not supported |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Set the reference position.
| dev | pointer to the device structure for the driver instance. |
| value | The reference position to set in micro-steps. |
| -EIO | General input / output error |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |
| int stepper_ctrl_stop | ( | const struct device * | dev | ) |
#include <zephyr/drivers/stepper/stepper_ctrl.h>
Stop the stepper.
| dev | pointer to the device structure for the driver instance. |
| -EIO | General input / output error |
| -ENOSYS | If not implemented by device driver |
| 0 | Success |