diff --git a/examples/ArduinoStyle/ArduinoStyle.ino b/examples/ArduinoStyle/ArduinoStyle.ino new file mode 100644 index 0000000..fcf5983 --- /dev/null +++ b/examples/ArduinoStyle/ArduinoStyle.ino @@ -0,0 +1,68 @@ +#include +#include + +int16_t oldEncPos, encPos; +uint8_t buttonState; + +#define pinA A2 +#define pinB A1 +#define pinSw A0 //switch +#define STEPS 4 + +ClickEncoder encoder(pinA, pinB, pinSw, STEPS); + +void setup() { + Serial.begin(9600); + + Timer1.initialize(1000); + Timer1.attachInterrupt(timerIsr); + + encoder.setAccelerationEnabled(true); + + Serial.print("Acceleration is "); + Serial.println((encoder.getAccelerationEnabled()) ? "enabled" : "disabled"); + + oldEncPos = -1; +} + +void loop() { + encPos += encoder.getValue(); + + if (encPos != oldEncPos) { + oldEncPos = encPos; + Serial.print("Encoder Value: "); + Serial.println(encPos); + } + + buttonState = encoder.getButton(); + + if (buttonState != 0) { + Serial.print("Button: "); Serial.println(buttonState); + switch (buttonState) { + case ClickEncoder::Open: //0 + break; + + case ClickEncoder::Closed: //1 + break; + + case ClickEncoder::Pressed: //2 + break; + + case ClickEncoder::Held: //3 + break; + + case ClickEncoder::Released: //4 + break; + + case ClickEncoder::Clicked: //5 + break; + + case ClickEncoder::DoubleClicked: //6 + break; + } + } +} + +void timerIsr() { + encoder.service(); +} diff --git a/keywords.txt b/keywords.txt new file mode 100644 index 0000000..605d6ec --- /dev/null +++ b/keywords.txt @@ -0,0 +1,13 @@ +ClickEncoder KEYWORD1 + +setAccelerationEnabled KEYWORD2 +getAccelerationEnabled KEYWORD2 +getButton KEYWORD2 +getValue KEYWORD2 +service KEYWORD2 +setDoubleClickTime KEYWORD2 +setHoldTime KEYWORD2 +setDoubleClickEnabled KEYWORD2 +getDoubleClickEnabled KEYWORD2 +setButtonHeldEnabled KEYWORD2 +getButtonHeldEnabled KEYWORD2 \ No newline at end of file