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

Committer:
melmon
Date:
Wed Aug 05 16:25:05 2015 +0000
Revision:
0:bd14983a5156
Works with Classes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
melmon 0:bd14983a5156 1 #include "Read_MUX.h"
melmon 0:bd14983a5156 2 #include "mbed.h"
melmon 0:bd14983a5156 3
melmon 0:bd14983a5156 4 Read_MUX::Read_MUX(PinName pin) : _pin(pin) {
melmon 0:bd14983a5156 5
melmon 0:bd14983a5156 6 _pin == 0;
melmon 0:bd14983a5156 7 }
melmon 0:bd14983a5156 8
melmon 0:bd14983a5156 9 int Read_MUX::readMux(int channel){
melmon 0:bd14983a5156 10 DigitalOut s0(p21);
melmon 0:bd14983a5156 11 DigitalOut s1(p20);
melmon 0:bd14983a5156 12 DigitalOut s2(p23);
melmon 0:bd14983a5156 13 DigitalOut s3(p24);
melmon 0:bd14983a5156 14
melmon 0:bd14983a5156 15
melmon 0:bd14983a5156 16 DigitalOut led1(LED1);
melmon 0:bd14983a5156 17 DigitalOut led2(LED2);
melmon 0:bd14983a5156 18 DigitalOut led3(LED3);
melmon 0:bd14983a5156 19 DigitalOut led4(LED4);
melmon 0:bd14983a5156 20
melmon 0:bd14983a5156 21 int muxChannel[16][4]={
melmon 0:bd14983a5156 22 {0,0,0,0}, //channel 0
melmon 0:bd14983a5156 23 {1,0,0,0}, //channel 1
melmon 0:bd14983a5156 24 {0,1,0,0}, //channel 2
melmon 0:bd14983a5156 25 {1,1,0,0}, //channel 3
melmon 0:bd14983a5156 26 {0,0,1,0}, //channel 4
melmon 0:bd14983a5156 27 {1,0,1,0}, //channel 5
melmon 0:bd14983a5156 28 {0,1,1,0}, //channel 6
melmon 0:bd14983a5156 29 {1,1,1,0}, //channel 7
melmon 0:bd14983a5156 30 {0,0,0,1}, //channel 8
melmon 0:bd14983a5156 31 {1,0,0,1}, //channel 9
melmon 0:bd14983a5156 32 {0,1,0,1}, //channel 10
melmon 0:bd14983a5156 33 {1,1,0,1}, //channel 11
melmon 0:bd14983a5156 34 {0,0,1,1}, //channel 12
melmon 0:bd14983a5156 35 {1,0,1,1}, //channel 13
melmon 0:bd14983a5156 36 {0,1,1,1}, //channel 14
melmon 0:bd14983a5156 37 {1,1,1,1} //channel 15
melmon 0:bd14983a5156 38 };
melmon 0:bd14983a5156 39
melmon 0:bd14983a5156 40 //loop through the 4 sig
melmon 0:bd14983a5156 41 /* for(int i = 0; i < 4; i ++){
melmon 0:bd14983a5156 42 controlPin[i] = muxChannel[channel][i];
melmon 0:bd14983a5156 43 }
melmon 0:bd14983a5156 44 */
melmon 0:bd14983a5156 45 s0 = muxChannel[channel][0];
melmon 0:bd14983a5156 46 s1 = muxChannel[channel][1];
melmon 0:bd14983a5156 47 s2 = muxChannel[channel][2];
melmon 0:bd14983a5156 48 s3 = muxChannel[channel][3];
melmon 0:bd14983a5156 49
melmon 0:bd14983a5156 50 led1= muxChannel[channel][0];
melmon 0:bd14983a5156 51 led2= muxChannel[channel][1];
melmon 0:bd14983a5156 52 led3= muxChannel[channel][2];
melmon 0:bd14983a5156 53 led4= muxChannel[channel][3];
melmon 0:bd14983a5156 54
melmon 0:bd14983a5156 55 //read the value at the SIG pin
melmon 0:bd14983a5156 56 int val = _pin.read_u16();
melmon 0:bd14983a5156 57
melmon 0:bd14983a5156 58 //return the value
melmon 0:bd14983a5156 59 return val;
melmon 0:bd14983a5156 60 }