22 lines
460 B
C++
22 lines
460 B
C++
#ifndef MULTIPLEXER_H
|
|
#define MULTIPLEXER_H
|
|
|
|
#include <Arduino.h>
|
|
|
|
class Multiplexer {
|
|
private:
|
|
uint8_t s0, s1, s2, s3;
|
|
uint8_t analogPin;
|
|
int lastValues[16];
|
|
unsigned long lastReadTime[16];
|
|
|
|
public:
|
|
Multiplexer(uint8_t s0Pin, uint8_t s1Pin, uint8_t s2Pin, uint8_t s3Pin, uint8_t analogPin);
|
|
void init();
|
|
int readChannel(uint8_t channel);
|
|
bool hasChanged(uint8_t channel, int threshold = 4);
|
|
void selectChannel(uint8_t channel);
|
|
};
|
|
|
|
#endif
|