Skip to content

Menu

menu.ino

#include "M5Cardputer.h"

int menuPosition = 3;
int currentOption = 1;

void drawMenu() {
  M5Cardputer.Display.clear();
  M5Cardputer.Display.fillRect(0, menuPosition, 240, 20, 0x7BEF); 

  M5Cardputer.Display.drawString("IR",5 ,0+5);
  M5Cardputer.Display.drawString("WIFI",5 ,24+5);
  M5Cardputer.Display.drawString("BLUETOOTH",5 ,46+5);
  M5Cardputer.Display.drawString("OTHERS",5 ,68+5);
}

void drawPage() {
  M5Cardputer.Display.clear();
  M5Cardputer.Display.drawString("Selected:" + String(currentOption),0 ,24);
}

void setup() {
    auto cfg = M5.config();
    M5Cardputer.begin(cfg);

    M5Cardputer.Display.setTextSize(2);
    M5Cardputer.Display.setRotation(1);
    M5Cardputer.Display.setTextColor(0xFFFF);
    drawMenu();
}

void loop() {
    M5Cardputer.update();
    if (M5Cardputer.Keyboard.isChange()) {
        if (M5Cardputer.Keyboard.isKeyPressed(';')) {
          if(currentOption > 1) {
            currentOption--;
            menuPosition -= 22;
            drawMenu();
          }
        }else if (M5Cardputer.Keyboard.isKeyPressed('.')) {
          if(currentOption < 4) {
            currentOption++;
            menuPosition += 22;
            drawMenu();
          }
        }else if (M5Cardputer.Keyboard.isKeyPressed('/')) {
            drawPage();
        } else if (M5Cardputer.Keyboard.isKeyPressed(',')) {
            drawMenu();
        }
    }
}