#include "AiEsp32RotaryEncoder.h"
#include "Arduino.h"
int dt = 23;
int clk = 22;
int sw = 21;
int vccpin = -1;
int steps = 4;
AiEsp32RotaryEncoder rotaryEncoder = AiEsp32RotaryEncoder(dt,clk,sw,vccpin,steps);
void rotatotory_onButtonClick()
{
static unsigned long lastTimePressed = 0;
if(millis() - lastTimePressed <500)
{
return;
}
lastTimePressed = millis();
Serial.print("button pressed");
Serial.print(millis());
Serial.println("milliseconds after restart");
}
void rotatory_loop()
{
Serial.print("Value:");
Serial.println(rotaryEncoder.readEncoder());
}
if(ratatoryEncoder.isEncoderButtonClicked())
{
ratatory_onButtonClick();
}
}
void IRAM_ATTR readEncoderISR()
{
rotatoryEncoder.readEncoder_ISR();
{
{
}
if(ratatoryEncoder.isEncoderButtonClicked())
{
rotatory_onButtonClick();
}
}
void IRAM_ATTR readEncoderISR()
{
ratatoryEncoder.readEncoder_ISR();
}
void setup(){
Serial.begin(115200);
rotatoryEncoder.begin();
rotatoryEncoder.setup(readEncoderISR);
bool circleValues = false;
rotatoryEncoder.setBoundaries(0,1000,circleValues);
rotatoryEncoder.setAcceleration(250);
}
void loop()
{
rotatory_loop();
delay(50);
}