#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include "GyverButton.h"
GButton butt1(3);
GButton butt2(2);
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* clock=*/ 5, /* data=*/ 4, /* reset=*/ U8X8_PIN_NONE);
struct Logger {
u8 current = 0;
char rows[3][20];
};
Logger logs;
void log(char *msg) {
logs.current = (logs.current + 1) % 3;
strcpy(logs.rows[logs.current], msg);
}
void print_logs() {
u8g2.setFont(u8g2_font_6x12_me);
u8g2.drawStr(0, 7, logs.rows[logs.current]);
u8g2.drawStr(0, 17, logs.rows[(logs.current + 2) % 3]);
u8g2.drawStr(0, 27, logs.rows[(logs.current + 1) % 3]);
}
void setup() {
Serial.begin(9600);
u8g2.begin();
butt1.setType(HIGH_PULL);
butt2.setType(HIGH_PULL);
log("Hello");
}
void loop() {
butt1.tick();
butt2.tick();
if (butt1.isClick()) {
// sleep_delay = SLEEPING_DELAY + millis();
log("Click 1");
};
if (butt2.isClick()) {
// sleep_delay = SLEEPING_DELAY + millis();
log("Click 2");
};
u8g2.clearBuffer();
print_logs();
u8g2.sendBuffer();
delay(10);
}