#include <Arduino.h>
#include <Button2.h>
#include <Wire.h>
#include <menu.h>
#include <menuIO/serialOut.h>
#include <menuIO/chainStream.h>
#include <menuIO/serialIn.h>
#include <menuIO/u8g2Out.h>
// #include <Adafruit_GFX.h>
// #include <Adafruit_SSD1306.h>
#define LEDPIN 2
#define MAX_DEPTH 2
#define BTN_UP 12 // Pinnumber for button for up/previous and select / enter actions - Red
#define BTN_DWN 13 // Pinnumber for button for down/next and back / exit actions - WHite
//-----------------------------------
// Screen related variables
//-----------------------------------
constexpr int OLED_SDA = 21;
constexpr int OLED_SDC = 22;
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define fontX 7
#define fontY 16
#define offsetX 0
#define offsetY 3
#define U8_Width 128
#define U8_Height 64
#define USE_HWI2C
#define fontMarginX 2
#define fontMarginY 2
#define fontName u8g2_font_7x13_mf
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE, SCL, SDA);
void setup()
{
pinMode(LEDPIN, OUTPUT);
Serial.begin(115200);
while (!Serial)
;
Serial.println("Serial setup done.");
Wire.begin((int)SDA, SCL);
Serial.println("Wire setup done.");
u8g2.begin();
u8g2.setFont(fontName);
// disable second option
// mainMenu[1].enabled=disabledStatus;
// nav.idleTask = idle; // point a function to be used when menu is suspended
u8g2.firstPage();
do
{
u8g2.drawStr(0, fontY, "Startup message");
u8g2.drawStr(0, fontY << 1, "on ESP");
u8g2.drawStr(0, fontY + (fontY << 1), "with buitin oled");
} while (u8g2.nextPage());
// for(int c=255;c>0;c--) {
// u8g2.setContrast(255-255.0*log(c)/log(255));
// delay(8);
// }
u8g2.setContrast(255);
}
void loop(){
Serial.println("Loop");
delay(2000);
}