MCP23S17 Bufferd

Revision:
3:8be680035a08
Child:
4:acd6e59f8544
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ExioBufferedIn.h	Fri Nov 04 20:44:41 2016 +0000
@@ -0,0 +1,42 @@
+/*
+ * ExioBufferdIn.h
+ *
+ * Created: 2016.11.05
+ *
+ */
+#ifndef _EXIOBUFFEREDIN_H_
+#define _EXIOBUFFEREDIN_H_
+
+#include "mbed.h"
+#include "rtos.h"
+#include "ExioInBuffer.h"
+
+class ExioBufferedIn
+{
+public:
+    ExioBufferedIn(ExioInBuffer* buffer, int pin) :
+        _buffer(buffer),
+        _pin(pin)
+    {
+        
+    }
+    
+    ~ExioBufferedIn() {}
+    
+    void mode(PinMode pull)
+    {
+        // Todo: impliment pullmode  
+    }
+    
+    int read()
+    {
+        uint8_t v = _buffer->readPort();
+        return (v & (1 << _pin)) ? 1 : 0;
+    }
+    
+protected:
+    ExioInBuffer* _buffer;
+    int _pin;
+};
+
+#endif //_EXIOBUFFEREDIN_H_
\ No newline at end of file