#include "Controlino.h"
// `MUXED` should be defined if the button is connected through a multiplexer
// #define MUXED
using namespace controlino;
namespace pin
{
// #ifdef MUXED
constexpr Pin S0 = 2;
constexpr Pin S1 = 3;
constexpr Pin S2 = 4;
constexpr Pin S3 = 5;
constexpr Pin SIG = 6;
constexpr Pin Button_x0 = 0;
constexpr Pin Button_x1 = 1;
// #else
constexpr Pin Button_s7 = 7;
constexpr Pin Button_s8 = 8;
// #endif
}; // pin
void setup()
{
Serial1.begin(115200);
}
void printEvent(char * nom, Button::Event event)
{
if (event != Button::Event::None) { Serial1.print(nom); };
if (event == Button::Event::Down) { Serial1.println("Down"); }
else if (event == Button::Event::Up) { Serial1.println("Up"); }
else if (event == Button::Event::Click) { Serial1.println("Click"); }
else if (event == Button::Event::Press) { Serial1.println("Press"); }
else if (event == Button::Event::ClickClick) { Serial1.println("ClickClick"); }
else if (event == Button::Event::ClickPress) { Serial1.println("ClickPress"); }
}
void loop()
{
//#ifdef MUXED
static Selector __selector = Selector(pin::S0, pin::S1, pin::S2, pin::S3);
static Multiplexer __multiplexer = Multiplexer(pin::SIG, __selector);
static Button x0_button = Button(__multiplexer, pin::Button_x0);
static Button x1_button = Button(__multiplexer, pin::Button_x1);
//#else
static Button b7_button = Button(pin::Button_s7);
//#endif
printEvent("S7 ", b7_button.check());
printEvent("X0 ", x0_button.check());
printEvent("X1 ", x1_button.check());
}
Loading
cd74hc4067
cd74hc4067