From abcc80b266b1f4dd723ea108c958eda59e66ac53 Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 2 Nov 2012 15:04:42 +0000 Subject: [PATCH] [all] More precision for the telemetry bars [fr] TTS script updated --- src/frsky.cpp | 9 ++------- src/frsky.h | 1 - src/model_menus.cpp | 8 ++++---- src/myeeprom.h | 8 -------- util/tts.py | 6 ++++-- 5 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/frsky.cpp b/src/frsky.cpp index b3fea3869..2cc679f9f 100644 --- a/src/frsky.cpp +++ b/src/frsky.cpp @@ -941,11 +941,6 @@ uint8_t maxTelemValue(uint8_t channel) } } -int16_t convertBarValue(uint8_t bar, uint8_t value) -{ - return convertTelemValue(bar, (uint16_t)value * maxTelemValue(bar) / 31); -} - int16_t convertTelemValue(uint8_t channel, uint8_t value) { int16_t result; @@ -1233,8 +1228,8 @@ void menuTelemetryFrsky(uint8_t event) for (int8_t i=3; i>=0; i--) { FrSkyBarData & bar = screen.bars[i]; uint8_t source = bar.source; - int16_t barMin = convertBarValue(source, bar.barMin); - int16_t barMax = convertBarValue(source, 31-bar.barMax); + int16_t barMin = convertTelemValue(source, bar.barMin); + int16_t barMax = convertTelemValue(source, 255-bar.barMax); if (source && barMax > barMin) { uint8_t y = barHeight+6+i*(barHeight+6); lcd_putsiAtt(0, y+barHeight-5, STR_VTELEMCHNS, source, 0); diff --git a/src/frsky.h b/src/frsky.h index 108576e0a..4816a0909 100644 --- a/src/frsky.h +++ b/src/frsky.h @@ -211,7 +211,6 @@ bool FRSKY_alarmRaised(uint8_t idx); void resetTelemetry(); uint8_t maxTelemValue(uint8_t channel); int16_t convertTelemValue(uint8_t channel, uint8_t value); -int16_t convertBarValue(uint8_t bar, uint8_t value); NOINLINE uint8_t getRssiAlarmValue(uint8_t alarm); extern const pm_uint8_t bchunit_ar[]; diff --git a/src/model_menus.cpp b/src/model_menus.cpp index 1659fc625..1f2801c99 100644 --- a/src/model_menus.cpp +++ b/src/model_menus.cpp @@ -3162,8 +3162,8 @@ void menuModelTelemetry(uint8_t event) uint8_t barSource = bar.source; lcd_putsiAtt(INDENT_WIDTH, y, STR_VTELEMCHNS, barSource, (attr && m_posHorz==0) ? blink : 0); if (barSource) { - putsTelemetryChannel(56-3*FW, y, barSource-1, convertBarValue(barSource, bar.barMin), (attr && m_posHorz==1 ? blink : 0) | LEFT); - putsTelemetryChannel(14*FW-3, y, barSource-1, convertBarValue(barSource, 31-bar.barMax), (attr && m_posHorz==2 ? blink : 0) | LEFT); + putsTelemetryChannel(56-3*FW, y, barSource-1, convertTelemValue(barSource, bar.barMin), (attr && m_posHorz==1 ? blink : 0) | LEFT); + putsTelemetryChannel(14*FW-3, y, barSource-1, convertTelemValue(barSource, 255-bar.barMax), (attr && m_posHorz==2 ? blink : 0) | LEFT); } else { if (attr) m_posHorz = 0; @@ -3174,10 +3174,10 @@ void menuModelTelemetry(uint8_t event) bar.source = checkIncDecModel(event, barSource, 0, g_model.frsky.usrProto ? TELEM_DISPLAY_MAX : TELEM_NOUSR_MAX); break; case 1: - CHECK_INCDEC_MODELVAR(event, bar.barMin, 0, 30-bar.barMax); + bar.barMin = checkIncDec(event, bar.barMin, 0, 254-bar.barMax, EE_MODEL|NO_INCDEC_MARKS); break; case 2: - bar.barMax = 31 - checkIncDecModel(event, 31-bar.barMax, bar.barMin+1, 31); + bar.barMax = 255 - checkIncDec(event, 255-bar.barMax, bar.barMin+1, 255, EE_MODEL|NO_INCDEC_MARKS); break; } } diff --git a/src/myeeprom.h b/src/myeeprom.h index d53a1d342..3e348286a 100644 --- a/src/myeeprom.h +++ b/src/myeeprom.h @@ -495,19 +495,11 @@ enum VarioSource { VARIO_SOURCE_LAST = VARIO_SOURCE_A2, }; -#if defined(PCBSKY9X) PACK(typedef struct t_FrSkyBarData { uint8_t source; uint8_t barMin; // minimum for bar display uint8_t barMax; // ditto for max display (would usually = ratio) }) FrSkyBarData; -#else -PACK(typedef struct t_FrSkyBarData { - uint16_t source:6; - uint16_t barMin:5; // minimum for bar display - uint16_t barMax:5; // ditto for max display (would usually = ratio) -}) FrSkyBarData; -#endif PACK(typedef struct t_FrSkyLineData { uint8_t sources[2]; diff --git a/util/tts.py b/util/tts.py index 461d6bc0d..14655d031 100644 --- a/util/tts.py +++ b/util/tts.py @@ -244,13 +244,15 @@ if __name__ == "__main__": systemSounds.extend(generate(s, 110+i)) for i, s in enumerate(["virgule", "et", "moins"]): systemSounds.extend(generate(s, 119+i)) + for i, s in enumerate(["volts", u"ampères", u"mètres seconde", "", "km heure", u"mètres", u"degrés", "pourcents", u"milli ampères", u"milli ampères / heure", "watt", "db", "pieds", "knotts", "heure", "minute", "seconde", "tours par minute", "g"]): + systemSounds.extend(generate(s, 125+i)) for i, s in enumerate(["timer", "", "tension", "tension", u"émission", u"réception", "altitude", "moteur", "essence", u"température", u"température", "vitesse", "distance", "altitude", u"élément lipo", "total lipo", "tension", "courant", "consommation", "puissance", u"accelération X", u"accelération Y", u"accelération Z", "orientation", "vario"]): systemSounds.extend(generate(s, 146+i)) - for i, s in enumerate(["volts", u"ampères", u"mètres seconde", "", "km heure", u"mètres", u"degrés", "pourcents", u"milli ampères", u"milli ampères / heure", "watt", "db", "pieds", "knotts", "heure", "minute", "seconde", "tours par minute", "g"]): - systemSounds.extend(generate(s, 125+i)) + for i, s in enumerate(["virgule 0", "virgule 1", "virgule 2", "virgule 3", "virgule 4", "virgule 5", "virgule 6", "virgule 7", "virgule 8", "virgule 9"]): + systemSounds.extend(generate(s, 180+i)) for i, (s, f) in enumerate([ (u"train rentré", "gearup"), (u"train sorti", "geardn"),