update mainmenu

This commit is contained in:
cheykrym 2026-03-30 05:45:56 +03:00
parent 11a0457b64
commit 802ae35166

View File

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