diff --git a/src/core/display/body/body.cpp b/src/core/display/body/body.cpp index 4e34852..b515cc1 100644 --- a/src/core/display/body/body.cpp +++ b/src/core/display/body/body.cpp @@ -59,20 +59,20 @@ static void drawHeader() { } static void drawFooter() { - // Разделительная линия - display.drawLine(0, SCREEN_HEIGHT - 12, SCREEN_WIDTH, SCREEN_HEIGHT - 12, SSD1306_WHITE); + // Разделительная линия (опущена ниже) + // display.drawLine(0, SCREEN_HEIGHT - 10, SCREEN_WIDTH, SCREEN_HEIGHT - 10, SSD1306_WHITE); display.setTextColor(SSD1306_WHITE); display.setTextSize(1); if (systemReady && debugMode) { // Инвертированный фон для DEBUG режима - display.fillRect(0, SCREEN_HEIGHT - 11, SCREEN_WIDTH, 11, SSD1306_WHITE); + display.fillRect(0, SCREEN_HEIGHT - 9, SCREEN_WIDTH, 9, SSD1306_WHITE); display.setTextColor(SSD1306_BLACK); // Кнопка Menu (левый угол) const char* menuBtn = "[MENU]"; - display.setCursor(2, SCREEN_HEIGHT - 9); + display.setCursor(2, SCREEN_HEIGHT - 8); display.print(menuBtn); // Uptime (правый угол) @@ -80,7 +80,7 @@ static void drawFooter() { char uptimeStr[12]; snprintf(uptimeStr, sizeof(uptimeStr), "UP=%lus", uptime); int textWidth = strlen(uptimeStr) * 6; - display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 9); + display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 8); display.print(uptimeStr); } else if (systemReady) { // Uptime (правый угол) @@ -88,12 +88,12 @@ static void drawFooter() { char uptimeStr[12]; snprintf(uptimeStr, sizeof(uptimeStr), "UP=%lus", uptime); int textWidth = strlen(uptimeStr) * 6; - display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 10); + display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 8); display.print(uptimeStr); } else { // Версия (правый угол) int textWidth = strlen(FIRMWARE_VERSION) * 6; - display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 10); + display.setCursor(SCREEN_WIDTH - textWidth - 2, SCREEN_HEIGHT - 8); display.print(FIRMWARE_VERSION); } } @@ -274,25 +274,28 @@ void oledDrawMainMenu(const char* ip, const char* mode) { // Заголовок drawHeader(); - // Основной контент + // Основной контент (центрирован между шапкой и подвалом) display.setTextColor(SSD1306_WHITE); - display.setCursor(0, 20); display.setTextSize(1); - // Строка 1: IP адрес + // Строка 1: IP адрес (y=17) + display.setCursor(0, 17); display.print("IP: "); display.println(ip); - // Строка 2: Режим + // Строка 2: Режим (y=27) + display.setCursor(0, 27); display.print("Mode: "); display.println(mode); - // Строка 3: Дистанция и RSSI + // Строка 3: Дистанция и RSSI (y=37) + display.setCursor(0, 37); int dist = ultrasonicReadCm(); int rssi = WiFi.RSSI(); display.printf("DIST: %dcm RSSI: %d", dist, rssi); - // Строка 4: Скорости + // Строка 4: Скорости (y=47) + display.setCursor(0, 47); display.printf("L: %d R: %d", robot.speedL, robot.speedR); // Подвал