From 3fed1aa157bbf7056bf054846f88f59b89c3385a Mon Sep 17 00:00:00 2001 From: 3djc Date: Sun, 29 Oct 2017 08:36:30 +0100 Subject: [PATCH] Fix timer display (is DATETIME but no date available) (#5299) --- radio/src/gui/128x64/view_telemetry.cpp | 8 ++++++-- radio/src/gui/212x64/view_telemetry.cpp | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/128x64/view_telemetry.cpp b/radio/src/gui/128x64/view_telemetry.cpp index 14c14b9bf..941675dd8 100644 --- a/radio/src/gui/128x64/view_telemetry.cpp +++ b/radio/src/gui/128x64/view_telemetry.cpp @@ -318,6 +318,7 @@ bool displayNumbersTelemetryScreen(FrSkyScreenData & screen) { // Custom Screen with numbers uint8_t fields_count = 0; + bool isTimer = 0; lcdDrawSolidVerticalLine(63, 8, 48); for (uint8_t i=0; i<4; i++) { for (uint8_t j=0; j= MIXSRC_FIRST_TIMER && field <= MIXSRC_LAST_TIMER && i!=3) { // there is not enough space on LCD for displaying "Tmr1" or "Tmr2" and still see the - sign, we write "T1" or "T2" instead drawStringWithIndex(pos[j], 1+FH+2*FH*i, "T", field-MIXSRC_FIRST_TIMER+1, 0); + isTimer = 1; } else if (field >= MIXSRC_FIRST_TELEM && isGPSSensor(1+(field-MIXSRC_FIRST_TELEM)/3) && telemetryItems[(field-MIXSRC_FIRST_TELEM)/3].isAvailable()) { // we don't display GPS name, no space for it @@ -355,10 +357,12 @@ bool displayNumbersTelemetryScreen(FrSkyScreenData & screen) att |= INVERS|BLINK; } } - if(isSensorUnit(1+(field-MIXSRC_FIRST_TELEM)/3, UNIT_DATETIME)) + if(isSensorUnit(1+(field-MIXSRC_FIRST_TELEM)/3, UNIT_DATETIME) && !isTimer) { drawTelemScreenDate(pos[j+1]-36, 6+FH+2*FH*i, field, SMLSIZE|NO_UNIT); - else + } + else { drawSourceValue(pos[j+1]-2, (i==3 ? 1+FH+2*FH*i:FH+2*FH*i), field, att); + } } } } diff --git a/radio/src/gui/212x64/view_telemetry.cpp b/radio/src/gui/212x64/view_telemetry.cpp index a0f2f44f7..c36f51647 100644 --- a/radio/src/gui/212x64/view_telemetry.cpp +++ b/radio/src/gui/212x64/view_telemetry.cpp @@ -98,6 +98,7 @@ bool displayNumbersTelemetryScreen(FrSkyScreenData & screen) { // Custom Screen with numbers const coord_t pos[] = {0, 71, 143, 214}; + bool isTimer = 0; uint8_t fields_count = 0; lcdDrawSolidVerticalLine(69, 8, 48); lcdDrawSolidVerticalLine(141, 8, 48); @@ -120,6 +121,7 @@ bool displayNumbersTelemetryScreen(FrSkyScreenData & screen) if (field >= MIXSRC_FIRST_TIMER && field <= MIXSRC_LAST_TIMER && i!=3) { // there is not enough space on LCD for displaying "Tmr1" or "Tmr2" and still see the - sign, we write "T1" or "T2" instead drawStringWithIndex(pos[j], 1+FH+2*FH*i, "T", field-MIXSRC_FIRST_TIMER+1, 0); + isTimer = 1; if (timersStates[field-MIXSRC_FIRST_TIMER].val > 3600) { att += TIMEHOUR - DBLSIZE; x -= 3*FW; @@ -144,7 +146,7 @@ bool displayNumbersTelemetryScreen(FrSkyScreenData & screen) } } - if(isSensorUnit(1+(field-MIXSRC_FIRST_TELEM)/3, UNIT_DATETIME)) { + if(isSensorUnit(1+(field-MIXSRC_FIRST_TELEM)/3, UNIT_DATETIME) && !isTimer) { drawTelemScreenDate(x, y, field, att); } else {