Updated stepper motor controller

Fork of StepperController by Viorel Stefan Savinescu

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?

UserRevisionLine numberNew 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