Updated stepper motor controller
Fork of StepperController by
steppercontroller.h@2:d589fc047bc9, 2018-06-15 (annotated)
- Committer:
- acracan
- Date:
- Fri Jun 15 17:39:52 2018 +0000
- Revision:
- 2:d589fc047bc9
- Parent:
- 1:6e8186dd5bfa
.
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}; |
acracan | 1:6e8186dd5bfa | 9 | enum SequenceType {Consecutive, Interleaved}; |
SavinescuStefan | 0:2cfd64d210f3 | 10 | StepperController(PinName phaseA,PinName enA, PinName phaseB, PinName enB ); |
SavinescuStefan | 0:2cfd64d210f3 | 11 | void advance(); |
SavinescuStefan | 0:2cfd64d210f3 | 12 | void setPeriod(float period); |
SavinescuStefan | 0:2cfd64d210f3 | 13 | void setPulseWidth(float width); |
SavinescuStefan | 0:2cfd64d210f3 | 14 | void setDirection(Direction dir); |
acracan | 1:6e8186dd5bfa | 15 | void setSequenceType(SequenceType seq); |
SavinescuStefan | 0:2cfd64d210f3 | 16 | |
SavinescuStefan | 0:2cfd64d210f3 | 17 | private: |
SavinescuStefan | 0:2cfd64d210f3 | 18 | int state; |
SavinescuStefan | 0:2cfd64d210f3 | 19 | float pulseWidth; |
SavinescuStefan | 0:2cfd64d210f3 | 20 | DigitalOut phaseA, phaseB; |
SavinescuStefan | 0:2cfd64d210f3 | 21 | PwmOut enA, enB; |
SavinescuStefan | 0:2cfd64d210f3 | 22 | Direction dir; |
acracan | 1:6e8186dd5bfa | 23 | SequenceType seq; |
SavinescuStefan | 0:2cfd64d210f3 | 24 | void updateOutputs(); |
SavinescuStefan | 0:2cfd64d210f3 | 25 | |
SavinescuStefan | 0:2cfd64d210f3 | 26 | |
SavinescuStefan | 0:2cfd64d210f3 | 27 | }; |
SavinescuStefan | 0:2cfd64d210f3 | 28 | |
acracan | 1:6e8186dd5bfa | 29 | #endif |