AccelStepper Library For Arduino2
AccelStepper Library For Arduino2
Commercial Licensing
This is the appropriate option if you are creating proprietary applications and you are
not prepared to distribute and share the source code of your application. To purchase a
commercial license, contact [email protected]
Revision History
Version
1.0 Initial release
1.3 Added support for stepper drivers (ie with Step and Direction inputs) with _pins == 1
1.4 Added functional contructor to support AFMotor, contributed by Limor, with example
sketches.
1.5 Improvements contributed by Peter Mousley: Use of microsecond steps and other
speed improvements to increase max stepping speed to about 4kHz. New option for user
to set the min allowed pulse width. Added checks for already running at max speed and
skip further calcs if so.
1.6 Fixed a problem with wrapping of microsecond stepping that could cause stepping to
hang. Reported by Sandy Noble. Removed redundant _lastRunTime member.
1.7 Fixed a bug where setCurrentPosition() did not always work as expected. Reported by
Peter Linhart.
1.8 Added support for 4 pin half-steppers, requested by Harvey Moon
1.14 Fixed a problem with compiling under arduino 0021 reported by EmbeddedMan
1.15 Fixed a problem with runSpeedToPosition which did not correctly handle running
backwards to a smaller target position. Added examples
1.16 Fixed some cases in the code where abs() was used instead of fabs().
1.19 Added MotorInterfaceType and symbolic names for the number of pins to use for
the motor interface. Updated examples to suit. Replaced individual pin assignment
variables _pin1, _pin2 etc with array _pin[4]. _pins member changed to _interface. Added
_pinInverted array to simplify pin inversion operations. Added new function
setOutputPins() which sets the motor output pins. It can be overridden in order to
provide, say, serial output instead of parallel output Some refactoring and code size
reduction.
1.20 Improved documentation and examples to show need for correctly specifying
AccelStepper::FULL4WIRE and friends.
1.21 Fixed a problem where desiredSpeed could compute the wrong step acceleration
when _speed was small but non-zero. Reported by Brian Schmalz. Precompute
sqrt_twoa to improve performance and max possible stepping speed
1.27 Added stop() function to stop as fast as possible with current acceleration
parameters. Also added new Quickstop example showing its use.
1.28 Fixed another problem where certain combinations of speed and acceleration could
cause oscillation about the target position. Added support for 3 wire full and half
steppers such as Hard Disk Drive spindle. Contributed by Yuri Ivatchkovitch.
4/7