1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| #include "display.h"
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2( U8G2_R0, U8X8_PIN_NONE, OLED_SCL, OLED_SDA );
void displayInit() { u8g2.begin(); u8g2.setContrast(128); }
void drawEgg() { u8g2.clearBuffer();
u8g2.drawDisc(64, 38, 20, U8G2_DRAW_ALL); u8g2.drawBox(44, 20, 40, 20); u8g2.drawRBox(44, 20, 40, 36, 8);
u8g2.drawLine(52, 28, 58, 44); u8g2.drawLine(64, 26, 64, 42); u8g2.drawLine(76, 28, 70, 44);
u8g2.setFont(u8g2_font_6x10_tr); u8g2.drawStr(20, 62, "Digimon Egg");
u8g2.sendBuffer(); }
void drawMainMenu(int selected) { u8g2.clearBuffer();
u8g2.setFont(u8g2_font_8x13B_tr); u8g2.drawStr(20, 14, "=== MENU ===");
const char* items[] = {"Status", "Feed", "Train"}; for (int i = 0; i < 3; i++) { u8g2.setFont(u8g2_font_7x14_tr); char buf[20]; snprintf(buf, sizeof(buf), "%s %s", (i == selected) ? ">" : " ", items[i]); u8g2.drawStr(30, 32 + i * 16, buf); }
u8g2.sendBuffer(); }
void drawPetStatus() { u8g2.clearBuffer(); u8g2.setFont(u8g2_font_8x13B_tr); u8g2.drawStr(16, 14, "Pet Status");
u8g2.setFont(u8g2_font_7x14_tr); u8g2.drawStr(10, 36, "Name: Botamon"); u8g2.drawStr(10, 50, "Stage: Baby I"); u8g2.drawStr(10, 64, "Hunger: 80%");
u8g2.sendBuffer(); }
|