Ball Sensor
Diff: ballsens.h
- Revision:
- 0:962fa32d6675
diff -r 000000000000 -r 962fa32d6675 ballsens.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ballsens.h Mon Sep 09 17:07:33 2013 +0000 @@ -0,0 +1,31 @@ +#ifndef BALLSENS_H +#define BALLSENS_H + +#include "mbed.h" +#include "PCA9555.h" + +class BallSens { +protected: + FunctionPointer _callbackChange; +public: + BallSens(PCA9555 *ioExt, unsigned int ballPin); + bool read(); + + void change(void (*function)(void)); + + template<typename T> + void change(T *object, void (T::*member)(void)) { + _callbackChange.attach(object, member); + } + +private: + bool ballState; + PCA9555 *extIO; + unsigned int ballPinNumber; + + void callChange(void); + + void setState(bool newState); +}; + +#endif \ No newline at end of file