Motor
Fork of Motor by
Diff: motor.h
- Revision:
- 8:63a67086a1b5
- Parent:
- 7:fbd3fa0445e5
- Child:
- 9:bec5a728405f
diff -r fbd3fa0445e5 -r 63a67086a1b5 motor.h --- a/motor.h Tue Sep 17 22:52:10 2013 +0000 +++ b/motor.h Thu Sep 19 13:08:56 2013 +0000 @@ -7,6 +7,8 @@ /** Class for controlling motors trough PCA9555 */ class Motor { protected: + FunctionPointer stallChangeCallback; + FunctionPointer stallEndCallback; FunctionPointer stallWarningCallback; FunctionPointer stallErrorCallback; public: @@ -35,6 +37,22 @@ */ void pid(); + int getStallLevel(); + + void stallChange(void (*function)(void)); + + template<typename T> + void stallChange(T *object, void (T::*member)(void)) { + stallChangeCallback.attach(object, member); + } + + void stallEnd(void (*function)(void)); + + template<typename T> + void stallEnd(T *object, void (T::*member)(void)) { + stallEndCallback.attach(object, member); + } + void stallWarning(void (*function)(void)); template<typename T> @@ -83,8 +101,11 @@ int iMax; int currentPWM; - int stallCounter; - int stallCounterLimit; + int stallCount; + int prevStallCount; + int stallWarningLimit; + int stallErrorLimit; + int stallLevel; }; #endif \ No newline at end of file