From 5dffb782f7f8069667a9f5f82c50a603ee51f9a5 Mon Sep 17 00:00:00 2001 From: UA1ZBE Date: Fri, 22 May 2026 14:11:50 +0300 Subject: [PATCH] mobile: move distance below speed to avoid overlap --- pr133.ino | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/pr133.ino b/pr133.ino index ce5511a..8abd579 100644 --- a/pr133.ino +++ b/pr133.ino @@ -407,7 +407,21 @@ void drawStationScreen(int idx) { u8g2.setFont(u8g2_font_6x12_t_cyrillic); int y = 50; - if (s.hasPos) { + if (s.isMobile) { + float kmh = s.speed * 1.852; + String sp = "Speed: " + String(kmh, 0) + " km/h"; + u8g2.drawUTF8(2, y, sp.c_str()); + + char dirAge[16]; + unsigned long sec = (millis() - s.rxTime) / 1000; + String age = sec < 120 ? String(sec) + "s" : String(sec / 60) + "m"; + snprintf(dirAge, sizeof(dirAge), "%s%d\xB0 %s", dirSymbol(s.heading), s.heading, age.c_str()); + u8g2.drawUTF8(126 - u8g2.getUTF8Width(dirAge), y, dirAge); + + y += 14; + String di = "Dist: " + String(s.distance, 1) + " km"; + u8g2.drawUTF8(2, y, di.c_str()); + } else if (s.hasPos) { char line[32]; snprintf(line, sizeof(line), "%s %d\xB0 %.1f km", dirSymbol(s.heading), s.heading, s.distance); @@ -421,18 +435,6 @@ void drawStationScreen(int idx) { u8g2.drawUTF8(126 - aw, y, age.c_str()); y += 14; - } - - if (s.isMobile) { - char sp[24]; - float kmh = s.speed * 1.852; - snprintf(sp, sizeof(sp), "Speed: %.0f km/h", kmh); - u8g2.drawUTF8(2, y, sp); - - char di[16]; - snprintf(di, sizeof(di), "Dist: %.1f km", s.distance); - int dw = u8g2.getUTF8Width(di); - u8g2.drawUTF8(126 - dw, y, di); } else if (s.comment.length() > 0) { String c = s.comment; if (u8g2.getUTF8Width(c.c_str()) > 124) {