Library to support the 16:1 Multiplexer Chip, CD74HC4067from TI

Files at this revision

API Documentation at this revision

Comitter:
melmon
Date:
Wed Aug 05 16:25:05 2015 +0000
Commit message:
Works with Classes

Changed in this revision

Read_MUX.cpp Show annotated file Show diff for this revision Revisions of this file
Read_MUX.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r bd14983a5156 Read_MUX.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Read_MUX.cpp	Wed Aug 05 16:25:05 2015 +0000
@@ -0,0 +1,60 @@
+#include "Read_MUX.h"
+#include "mbed.h"
+
+Read_MUX::Read_MUX(PinName pin) : _pin(pin) {
+    
+    _pin == 0;
+}
+
+int Read_MUX::readMux(int channel){
+        DigitalOut s0(p21);
+        DigitalOut s1(p20);
+        DigitalOut s2(p23);
+        DigitalOut s3(p24);
+        
+        
+        DigitalOut led1(LED1);
+        DigitalOut led2(LED2);
+        DigitalOut led3(LED3);
+        DigitalOut led4(LED4);
+
+          int muxChannel[16][4]={
+            {0,0,0,0}, //channel 0
+            {1,0,0,0}, //channel 1
+            {0,1,0,0}, //channel 2
+            {1,1,0,0}, //channel 3
+            {0,0,1,0}, //channel 4
+            {1,0,1,0}, //channel 5
+            {0,1,1,0}, //channel 6
+            {1,1,1,0}, //channel 7
+            {0,0,0,1}, //channel 8
+            {1,0,0,1}, //channel 9
+            {0,1,0,1}, //channel 10
+            {1,1,0,1}, //channel 11
+            {0,0,1,1}, //channel 12
+            {1,0,1,1}, //channel 13
+            {0,1,1,1}, //channel 14
+            {1,1,1,1}  //channel 15
+          };
+        
+          //loop through the 4 sig
+        /*  for(int i = 0; i < 4; i ++){
+            controlPin[i] = muxChannel[channel][i];
+          }
+        */
+            s0 = muxChannel[channel][0];
+            s1 = muxChannel[channel][1];
+            s2 = muxChannel[channel][2];
+            s3 = muxChannel[channel][3];
+            
+            led1= muxChannel[channel][0]; 
+            led2= muxChannel[channel][1];
+            led3= muxChannel[channel][2]; 
+            led4= muxChannel[channel][3];
+            
+          //read the value at the SIG pin
+          int val = _pin.read_u16();
+        
+          //return the value
+          return val;
+        }
\ No newline at end of file
diff -r 000000000000 -r bd14983a5156 Read_MUX.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Read_MUX.h	Wed Aug 05 16:25:05 2015 +0000
@@ -0,0 +1,16 @@
+#ifndef MBED_READ_MUX_H
+#define MBED_READ_MUX_H
+
+#include "mbed.h"
+
+class Read_MUX {
+  public:
+    Read_MUX(PinName pin);
+    int readMux(int channel);
+    
+  private:
+    AnalogIn _pin;
+
+};
+
+#endif 
\ No newline at end of file