Added basic acceleration and filtering for the encoder, but it still needs finetuning

This commit is contained in:
2023-12-15 17:27:49 +02:00
parent 943854b733
commit 877c330e74
2 changed files with 9 additions and 0 deletions

View File

@ -85,8 +85,16 @@ void checkInputs() {
//encoder
encoder.tick();
int encPosition = encoder.getPosition();
int encDirection = (int)(encoder.getDirection());
if (encPositionOld != encPosition) {
int change = encPositionOld - encPosition;
unsigned long ms = encoder.getMillisBetweenRotations();
if (encDirectionOld == encDirection && ms < 50) { //encoder acceleration
change = change * 5;
} else if (encDirectionOld != encDirection && ms < 150) { //filter out encoder "jumps"
change = 0;
}
encDirectionOld = encDirection;
if (displayScreen == 0) {
byte channelCV;
if (!insideTab && !shiftBtnPushed) { //Change tab