Ball Sensor

Dependents:  

Revision:
0:962fa32d6675
--- /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