Ball Sensor

Dependents:  

Committer:
Reiko
Date:
Mon Sep 09 17:07:33 2013 +0000
Revision:
0:962fa32d6675
Initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reiko 0:962fa32d6675 1 #ifndef BALLSENS_H
Reiko 0:962fa32d6675 2 #define BALLSENS_H
Reiko 0:962fa32d6675 3
Reiko 0:962fa32d6675 4 #include "mbed.h"
Reiko 0:962fa32d6675 5 #include "PCA9555.h"
Reiko 0:962fa32d6675 6
Reiko 0:962fa32d6675 7 class BallSens {
Reiko 0:962fa32d6675 8 protected:
Reiko 0:962fa32d6675 9 FunctionPointer _callbackChange;
Reiko 0:962fa32d6675 10 public:
Reiko 0:962fa32d6675 11 BallSens(PCA9555 *ioExt, unsigned int ballPin);
Reiko 0:962fa32d6675 12 bool read();
Reiko 0:962fa32d6675 13
Reiko 0:962fa32d6675 14 void change(void (*function)(void));
Reiko 0:962fa32d6675 15
Reiko 0:962fa32d6675 16 template<typename T>
Reiko 0:962fa32d6675 17 void change(T *object, void (T::*member)(void)) {
Reiko 0:962fa32d6675 18 _callbackChange.attach(object, member);
Reiko 0:962fa32d6675 19 }
Reiko 0:962fa32d6675 20
Reiko 0:962fa32d6675 21 private:
Reiko 0:962fa32d6675 22 bool ballState;
Reiko 0:962fa32d6675 23 PCA9555 *extIO;
Reiko 0:962fa32d6675 24 unsigned int ballPinNumber;
Reiko 0:962fa32d6675 25
Reiko 0:962fa32d6675 26 void callChange(void);
Reiko 0:962fa32d6675 27
Reiko 0:962fa32d6675 28 void setState(bool newState);
Reiko 0:962fa32d6675 29 };
Reiko 0:962fa32d6675 30
Reiko 0:962fa32d6675 31 #endif