Mux 16x1 Library

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Mux16x1.cpp Source File

Mux16x1.cpp

00001 #include "Mux16x1.h"
00002 
00003 Mux16x1::Mux16x1(PinName sig, PinName s0, PinName s1, PinName s2, PinName s3)
00004     : _sig(sig), _s0(s0), _s1(s1), _s2(s2), _s3(s3)
00005 {
00006     _s0 = 0;
00007     _s1 = 0;
00008     _s2 = 0;
00009     _s3 = 0;
00010 }
00011 
00012 void  Mux16x1::setAt(int index)
00013 {
00014     _s3 = ((index & 0b1000) >> 3);
00015     _s2 = ((index & 0b0100) >> 2);
00016     _s1 = ((index & 0b0010) >> 1);
00017     _s0 = ((index & 0b0001) >> 0);
00018 }
00019 
00020 float Mux16x1::readAt(int index)
00021 {
00022     this->setAt(index);
00023     return _sig.read();
00024 }
00025 
00026 float Mux16x1::read()
00027 {
00028     return _sig.read();
00029 }