Motor
Fork of Motor by
motor.h
- Committer:
- Reiko
- Date:
- 2013-09-16
- Revision:
- 5:99fa6dffea40
- Parent:
- 3:94db629c0a83
- Child:
- 6:37199f371bf8
File content as of revision 5:99fa6dffea40:
#ifndef MOTOR_H #define MOTOR_H #include "mbed.h" #include "PCA9555.h" #include "qed.h" class Motor { protected: FunctionPointer stallWarningCallback; FunctionPointer stallErrorCallback; public: Motor(PinName PWMpin, PCA9555 *ioExt, unsigned int dir1Pin, unsigned int dir2Pin, PinName encA, PinName encB); void setPWM(int newPWM); void setSpeed(int newSpeed); int getSpeed(); void pid(); void stallWarning(void (*function)(void)); template<typename T> void stallWarning(T *object, void (T::*member)(void)) { stallWarningCallback.attach(object, member); } void stallError(void (*function)(void)); template<typename T> void stallError(T *object, void (T::*member)(void)) { stallErrorCallback.attach(object, member); } private: PwmOut pwm; PCA9555 *extIO; unsigned int dir1; unsigned int dir2; QED qed; int currentSpeed; int getDecoderCount(); void resetPID(); int setPoint; int pMulti; int iDiv; int dMulti; int error; int prevError; int P; int I; int D; int minPwm; int pidMulti; int iMax; int currentPWM; int stallCounter; int stallCounterLimit; }; #endif