Overview of FastAccelStepper
masterFastAccelStepper is a high-speed alternative to the AccelStepper library designed for stepper motor control. It is fully interrupt or task-driven, meaning it does not require a periodic function call in your main application loop.
Key features include:
- High Speed & Precision: Supports acceleration/deceleration with per-stepper max speed/acceleration and uses fixed-point arithmetic (log2 representation) instead of float calculations for efficiency.
- Flexible Operation Modes: Supports 1-pin (positive move only), 2-pin (axis control), and 3-pin (power dissipation reduction) configurations.
- Advanced Motion Control: Features constant acceleration control, configurable linear acceleration (cubic speed function via
setLinearAcceleration()), and jump start from standstill (setJumpStart()). - Automation: Includes an auto-enable mode that enables the motor before movement and disables it after with configurable delays.
- Multi-Axis Synchronization: Provides an API to fill a command queue for each stepper. Commands are tied to timer ticks (CPU frequency), allowing for near-synchronous starts of multiple steppers.
- Resource Sharing: Enable and direction pins can be shared between multiple motors.
- Hardware Abstraction: Uses platform-specific pulse drivers for AVR, ESP32, Pico, and SAM architectures.