Проблема с перелистыванием меню с помощью энкодера

Здравствуйте, помогите пожалуйста разобраться в следующей ситуации. Энкодером выбираю нужную надпись. При достижении определённого значение параметры меняются на нужные мне. Когда листаю вперёд то присваивание значение 0 происходит нормально, соответственно надпись появляется самая первая, а вот при перелистывание назад значение 2 почему то не присваивается, постоянно висит первая надпись. Не могу понять что не так. Опыта как говориться 0, но пытаюсь.

#include <Adafruit_SSD1306.h>

#define ENC_A 2
#define ENC_B 3
#define OLED_RESET 4

Encoder myEnc(ENC_A, ENC_B);
Adafruit_SSD1306 display(OLED_RESET);

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextSize(4);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("KVALITET");
  display.display();
  //delay(5000);
}

void loop() {
  static int lastPos = -1;
  int newPos = myEnc.read() / 4;
  if (newPos != lastPos) {
    display.clearDisplay();
    display.setCursor(0,0);
   
    if (newPos == 0) {
      display.println("START");
    } else if (newPos == 1) {
      display.println("STOP");
    } else if (newPos == 2) {
      display.println("TIME");
    }
  
     if (newPos > 2) {
      
      myEnc.write(0);
      
    } if (newPos < 1) {
      
      myEnc.write(2);
      
    }
    display.println(newPos);
    
    display.display();
    lastPos = newPos;
  }
}

Спасибо!

Для начала, разберитесь, пожалуйста, в следующей ситуации

и вставьте нормально код в сообщение.

Чего-то в этом коде не хватает…))

Ну как минимум описания класса Encoder и его конструктора и методов.
На худой конец подключенной библиотеки, содержащей все вышеперечисленное.

Конструктор Enc в 7 строке, а вот подключения библиотеки с ним - не наблюдаю.
Мне не понятна 23 строка, а так же зачем в энкодер что-то “писать” (строки 38 и 42), может ТС пояснит?

Это вызов конструктора, а самого конструктора нет

Значит не правильно понял.