#include <U8g2lib.h>

constexpr byte MAX_MENU_ITEMS {4};

struct OledMenus {
  const char *title;
  const char *items[MAX_MENU_ITEMS];
};

OledMenus menu {
  "Demo Menu", { "Zeile 1", "Zeile 2", "Zeile 3", "Zeile 4" }
};

#if defined DISPLAY_SSH_1106
using OLED = U8G2_SH1106_128X64_NONAME_F_HW_I2C;   // 1,3 Inch SH1106
#else
using OLED = U8G2_SSD1306_128X64_NONAME_F_HW_I2C;   // 0,96 Inch SH1306
#endif

OLED u8g2(U8G2_R0, U8X8_PIN_NONE);   // OLED-Display einrichten

void setup(void) {
  Serial.begin(115200);

  u8g2.begin();
  u8g2.setFont(u8g2_font_6x10_tr);
  u8g2.drawUTF8(0, 10, menu.title);
  for (size_t i = 0; i < MAX_MENU_ITEMS; ++i) { u8g2.drawUTF8(40, 25 + (i * 12), menu.items[i]); }
  u8g2.sendBuffer();
}

void loop() {}