55 lines
756 B
C++
55 lines
756 B
C++
/*
|
|
* MuxSetup.h
|
|
*
|
|
* Created on: Jun 27, 2017
|
|
* Author: patrickjmcd
|
|
*/
|
|
|
|
#ifndef MUXSETUP_H_
|
|
#define MUXSETUP_H_
|
|
|
|
#include "mraa.hpp"
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
const int MUX_VALUES[9][3] = {
|
|
{0,0,0},
|
|
{0,0,0},
|
|
{1,0,0},
|
|
{0,1,0},
|
|
{1,1,0},
|
|
{0,0,1},
|
|
{1,0,1},
|
|
{0,1,1},
|
|
{1,1,1},
|
|
};
|
|
|
|
class MuxSetup {
|
|
public:
|
|
|
|
MuxSetup();
|
|
int set(int v1, int v2, int v3);
|
|
void preAnalogWrite();
|
|
void postAnalogWrite();
|
|
int readAnalog();
|
|
int readDigital();
|
|
int writeDigital(int val);
|
|
virtual ~MuxSetup();
|
|
|
|
|
|
private:
|
|
int apply();
|
|
int mux1value, mux2value, mux3value;
|
|
mraa::Gpio* pinMux1;
|
|
mraa::Gpio* pinMux2;
|
|
mraa::Gpio* pinMux3;
|
|
mraa::Gpio* pinDigitalRead;
|
|
mraa::Gpio* pinAnOutTrigger;
|
|
mraa::Spi* spi;
|
|
|
|
};
|
|
|
|
#endif /* MUXSETUP_H_ */
|