Updated stepper motor controller
Fork of StepperController by
steppercontroller.h@0:2cfd64d210f3, 2015-06-29 (annotated)
- Committer:
- SavinescuStefan
- Date:
- Mon Jun 29 07:47:45 2015 +0000
- Revision:
- 0:2cfd64d210f3
- Child:
- 1:6e8186dd5bfa
First commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
SavinescuStefan | 0:2cfd64d210f3 | 1 | #ifndef STEPPERCONTROLLER_H |
SavinescuStefan | 0:2cfd64d210f3 | 2 | #define STEPPERCONTROLLER_H |
SavinescuStefan | 0:2cfd64d210f3 | 3 | #include "mbed.h" |
SavinescuStefan | 0:2cfd64d210f3 | 4 | |
SavinescuStefan | 0:2cfd64d210f3 | 5 | class StepperController { |
SavinescuStefan | 0:2cfd64d210f3 | 6 | |
SavinescuStefan | 0:2cfd64d210f3 | 7 | public: |
SavinescuStefan | 0:2cfd64d210f3 | 8 | enum Direction {DirectionCW = 1, DirectionCCW = -1}; |
SavinescuStefan | 0:2cfd64d210f3 | 9 | StepperController(PinName phaseA,PinName enA, PinName phaseB, PinName enB ); |
SavinescuStefan | 0:2cfd64d210f3 | 10 | void advance(); |
SavinescuStefan | 0:2cfd64d210f3 | 11 | void setPeriod(float period); |
SavinescuStefan | 0:2cfd64d210f3 | 12 | void setPulseWidth(float width); |
SavinescuStefan | 0:2cfd64d210f3 | 13 | void setDirection(Direction dir); |
SavinescuStefan | 0:2cfd64d210f3 | 14 | |
SavinescuStefan | 0:2cfd64d210f3 | 15 | private: |
SavinescuStefan | 0:2cfd64d210f3 | 16 | int state; |
SavinescuStefan | 0:2cfd64d210f3 | 17 | float pulseWidth; |
SavinescuStefan | 0:2cfd64d210f3 | 18 | DigitalOut phaseA, phaseB; |
SavinescuStefan | 0:2cfd64d210f3 | 19 | PwmOut enA, enB; |
SavinescuStefan | 0:2cfd64d210f3 | 20 | Direction dir; |
SavinescuStefan | 0:2cfd64d210f3 | 21 | void updateOutputs(); |
SavinescuStefan | 0:2cfd64d210f3 | 22 | |
SavinescuStefan | 0:2cfd64d210f3 | 23 | |
SavinescuStefan | 0:2cfd64d210f3 | 24 | }; |
SavinescuStefan | 0:2cfd64d210f3 | 25 | |
SavinescuStefan | 0:2cfd64d210f3 | 26 | #endif |