A simple stepper motor driver library, supporting micro-stepping drivers such as the Pololu A4988 stepper driver carrier or the Sparkfun EasyDriver.
Fork of StepperMotor by
Stepper.cpp
- Committer:
- melse
- Date:
- 2013-02-24
- Revision:
- 0:52fb09e87581
- Child:
- 1:6fbe104c6f37
File content as of revision 0:52fb09e87581:
#include "Stepper.h" #include "mbed.h" stepper::stepper(PinName _en, PinName ms1, PinName ms2, PinName ms3, PinName _stepPin, PinName dir):en(_en), microstepping(ms1, ms2, ms3), stepPin(_stepPin), direction(dir) { } void stepper::step(int microstep, int dir, float speed) { if (microstep == 1) { microstepping = 0; } else if (microstep <= 4) { microstepping = microstep / 2; } else if (microstep > 4) { microstepping = (microstep / 2) - 1; } if (dir == 1) { direction = 0; } else if (dir == 0) { direction = 1; } // Step... stepPin = 1; wait(1/speed); stepPin = 0; wait(1/speed); } void stepper::enable() { en = 0; } void stepper::disable() { en = 1; }