diff --git a/HISTORY b/HISTORY index 1995981..086a50a 100644 --- a/HISTORY +++ b/HISTORY @@ -547,3 +547,7 @@ VDR Plugin 'femon' Revision History 2018-04-15: Version 2.4.0 - Updated for vdr-2.4.0. + +2019-xx-xx: Version 2.4.1 + +- Added signal level units (Thanks to Winfried). diff --git a/README b/README index 3961a4f..7b6e85c 100644 --- a/README +++ b/README @@ -38,7 +38,7 @@ Terminology: | [LOCK] [SIGNAL] [CARRIER] [VITERBI] [SYNC] | -------------------------------------------------------------- -STR - Signal strength in dBm +STR - Signal strength in dBm/dBuV/dbV CNR - Signal-to-noise ratio of the main carrier in dB BER - Bit error rate after the forward error correction (FEC) done by inner code block PER - Block error rate after the outer forward error correction coding diff --git a/config.c b/config.c index 6093999..6e36b28 100644 --- a/config.c +++ b/config.c @@ -20,6 +20,7 @@ cFemonConfig::cFemonConfig() themeM(0), positionM(1), downscaleM(0), + signalUnitM(0), redLimitM(33), greenLimitM(66), updateIntervalM(5), diff --git a/config.h b/config.h index 9bddfc6..477a500 100644 --- a/config.h +++ b/config.h @@ -19,6 +19,14 @@ enum eFemonModes eFemonModeMaxNumber }; +enum eFemonSignalUnit +{ + eFemonSignalUnitdBm, + eFemonSignalUnitdBuV, + eFemonSignalUnitdBV, + eFemonSignalUnitMaxNumber +}; + class cFemonConfig { private: @@ -29,6 +37,7 @@ private: int themeM; int positionM; int downscaleM; + int signalUnitM; int redLimitM; int greenLimitM; int updateIntervalM; @@ -68,6 +77,7 @@ public: int GetTheme(void) const { return themeM; } int GetPosition(void) const { return positionM; } int GetDownscale(void) const { return downscaleM; } + int GetSignalUnit(void) const { return signalUnitM; } int GetRedLimit(void) const { return redLimitM; } int GetGreenLimit(void) const { return greenLimitM; } int GetUpdateInterval(void) const { return updateIntervalM; } @@ -84,6 +94,7 @@ public: void SetTheme(int themeP) { themeM = themeP; } void SetPosition(int positionP) { positionM = positionP; } void SetDownscale(int downscaleP) { downscaleM = downscaleP; } + void SetSignalUnit(int signalUnitP) { signalUnitM = signalUnitP; } void SetRedLimit(int redLimitP) { redLimitM = redLimitP; } void SetGreenLimit(int greenLimitP) { greenLimitM = greenLimitP; } void SetUpdateInterval(int updateIntervalP) { updateIntervalM = updateIntervalP; } diff --git a/femon.c b/femon.c index e6ae025..a368b3f 100644 --- a/femon.c +++ b/femon.c @@ -25,7 +25,7 @@ #define GITVERSION "" #endif -static const char VERSION[] = "2.4.0" GITVERSION; +static const char VERSION[] = "2.4.1" GITVERSION; static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)"); static const char MAINMENUENTRY[] = trNOOP("Signal Information"); @@ -165,6 +165,8 @@ bool cPluginFemon::SetupParse(const char *nameP, const char *valueP) FemonConfig.SetSvdrpPort(atoi(valueP)); else if (!strcasecmp(nameP, "ServerIp")) FemonConfig.SetSvdrpIp(valueP); + else if (!strcasecmp(nameP, "SignalUnit")) + FemonConfig.SetSignalUnit(atoi(valueP)); else return false; @@ -292,7 +294,7 @@ cString cPluginFemon::SVDRPCommand(const char *commandP, const char *optionP, in return cString::sprintf("%d on device #%d", dev->SignalQuality(), dev->CardIndex()); } else if (strcasecmp(commandP, "SGNL") == 0) { - return cString::sprintf("%.2f dBm on device #%d", getSignal(dev), dev->CardIndex()); + return cString::sprintf("%s on device #%d", *getSignalStrength(getSignal(dev)), dev->CardIndex()); } else if (strcasecmp(commandP, "CNRA") == 0) { return cString::sprintf("%.2f dB on device #%d", getCNR(dev), dev->CardIndex()); diff --git a/osd.c b/osd.c index a4890bf..d60c1d5 100644 --- a/osd.c +++ b/osd.c @@ -371,7 +371,7 @@ void cFemonOsd::DrawStatusWindow(void) if (qualityValidM) OSDDRAWSTATUSBAR(qualityM); offset += OSDROWHEIGHT; - OSDDRAWSTATUSVALUES(signalValidM ? *cString::sprintf("STR: %.2f dBm", signalM) : "STR: ---", + OSDDRAWSTATUSVALUES(signalValidM ? *cString::sprintf("STR: %s", *getSignalStrength(signalM)) : "STR: ---", cnrValidM ? *cString::sprintf("CNR: %.2f dB", cnrM) : "CNR: ---", berValidM ? *cString::sprintf("BER: %.0f", berM) : "BER: ---", perValidM ? *cString::sprintf("PER: %.0f", perM) : "PER: ---", diff --git a/po/de_DE.po b/po/de_DE.po index ccf3cd8..e5b9847 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -1,9 +1,10 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Peter Marquardt # Andreas Brachold -# Christian Wieninger +# Christian Wieninger +# Winfried # msgid "" msgstr "" @@ -129,6 +130,15 @@ msgstr "Transponder" msgid "stream" msgstr "Stream" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Klassischer" @@ -189,6 +199,12 @@ msgstr "OSD Größe verkleinern [%]" msgid "Define the downscale ratio for OSD size." msgstr "Definiert den Verkleinerungsfaktor der OSD-Größe." +msgid "Signal level unit" +msgstr "Signalpegel Einheiten" + +msgid "Define the used signal level unit." +msgstr "Definiert der Einheit für Signalpegel." + msgid "Red limit [%]" msgstr "Grenze Rot [%]" diff --git a/po/es_ES.po b/po/es_ES.po index b03c898..fba7aa1 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Luis Palacios # @@ -127,6 +127,15 @@ msgstr "Transpondedor" msgid "stream" msgstr "Flujo" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Clsico" @@ -187,6 +196,12 @@ msgstr "" msgid "Define the downscale ratio for OSD size." msgstr "" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Lmite de rojo [%s]" diff --git a/po/et_EE.po b/po/et_EE.po index b74b32e..820923d 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Arthur Konovalov # @@ -127,6 +127,15 @@ msgstr "transponder" msgid "stream" msgstr "voog" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Classic" @@ -187,6 +196,12 @@ msgstr "Ekraanimen msgid "Define the downscale ratio for OSD size." msgstr "Ekraanimen suuruse vhendamise mritlemine" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Punase limiit [%]" diff --git a/po/fi_FI.po b/po/fi_FI.po index a332473..7571b26 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Rolf Ahrenberg # @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr-femon 2.4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-04-15 04:15+0300\n" +"POT-Creation-Date: 2019-10-27 16:29+0200\n" "PO-Revision-Date: 2018-04-15 04:15+0300\n" "Last-Translator: Rolf Ahrenberg\n" "Language-Team: Finnish \n" @@ -127,8 +127,17 @@ msgstr "transponderi" msgid "stream" msgstr "lähete" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" -msgstr "Klassinen" +msgstr "" msgid "Elchi" msgstr "Elchi" @@ -187,6 +196,12 @@ msgstr "Pienennä näytön kokoa [%]" msgid "Define the downscale ratio for OSD size." msgstr "Määrittele näytön pienennyssuhde." +msgid "Signal level unit" +msgstr "Signaalitason yksikkö" + +msgid "Define the used signal level unit." +msgstr "Määrittele yksikkö signaalin tasolle." + msgid "Red limit [%]" msgstr "Punaisen taso [%]" @@ -390,3 +405,6 @@ msgstr "Mbit/s" msgid "kbit/s" msgstr "kbit/s" + +#~ msgid "Clasxsic" +#~ msgstr "Klassinen" diff --git a/po/fr_FR.po b/po/fr_FR.po index 67eb027..2c11697 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Nicolas Huillard # Michaël Nival , 2010 @@ -129,6 +129,15 @@ msgstr "transpondeur" msgid "stream" msgstr "flux" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Classique" @@ -189,6 +198,12 @@ msgstr "Réduit la taille de l'OSD (%)" msgid "Define the downscale ratio for OSD size." msgstr "Définit le ration de réduction de l'OSD." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Limite du rouge (%)" diff --git a/po/hu_HU.po b/po/hu_HU.po index 0e6593c..a60f7ad 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Fley Istvn , 2011 # @@ -130,6 +130,15 @@ msgstr "transponder" msgid "stream" msgstr "adatfolyam (stream)" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Klasszikus" @@ -190,6 +199,12 @@ msgstr "Az OSD lem msgid "Define the downscale ratio for OSD size." msgstr "Az OSD mretnek lemretezse szzalkban." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Piros sznt hatra [%]" diff --git a/po/it_IT.po b/po/it_IT.po index de669b3..9371ff6 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Sean Carlos # Diego Pierotto @@ -131,6 +131,15 @@ msgstr "transponder" msgid "stream" msgstr "flusso" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Classico" @@ -191,6 +200,12 @@ msgstr "Riduci dimensione OSD [%]" msgid "Define the downscale ratio for OSD size." msgstr "Definisci il rapporto di riduzione della dimensione OSD." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Limite rosso [%]" diff --git a/po/lt_LT.po b/po/lt_LT.po index 5717bec..58aa758 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Valdemaras Pipiras # @@ -127,6 +127,15 @@ msgstr "Siųstuvas" msgid "stream" msgstr "Srautas" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Klasikinis" @@ -187,6 +196,12 @@ msgstr "Sumažinti ekrano užsklandos (OSD) dydį [%]" msgid "Define the downscale ratio for OSD size." msgstr "Nustatyti ekrano užsklandos (OSD) mažinimo santykį." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Raudonoji ribą [%]" diff --git a/po/pl_PL.po b/po/pl_PL.po index c968285..bbe6994 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the vdr-femon package. # Tomasz Maciej Nowak, 2017. # @@ -128,6 +128,15 @@ msgstr "transponder" msgid "stream" msgstr "strumień" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Klasyczna" @@ -188,6 +197,12 @@ msgstr "Zmniejsz rozmiar OSD [%]" msgid "Define the downscale ratio for OSD size." msgstr "Określa procent zmniejszenia OSD." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Czerwony - zakres [%]" diff --git a/po/ru_RU.po b/po/ru_RU.po index cf11723..b9823a9 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Vyacheslav Dikonov # @@ -127,6 +127,15 @@ msgstr "" msgid "stream" msgstr "" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "" @@ -187,6 +196,12 @@ msgstr "" msgid "Define the downscale ratio for OSD size." msgstr "" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr " (%)" diff --git a/po/sk_SK.po b/po/sk_SK.po index 213964f..c9a71ab 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Milan Hrala # @@ -127,6 +127,15 @@ msgstr "Transpond msgid "stream" msgstr "dtov tok" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Klasick" @@ -187,6 +196,12 @@ msgstr "Zmen msgid "Define the downscale ratio for OSD size." msgstr "Zadajte zmenenie pomeru pre OSD vekosti." +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "erven limit [%]" diff --git a/po/uk_UA.po b/po/uk_UA.po index 511119e..ca956d6 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -127,6 +127,15 @@ msgstr "транспондер" msgid "stream" msgstr "потік" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "Класичний" @@ -187,6 +196,12 @@ msgstr "Масштаб розміру повідомлень [%]" msgid "Define the downscale ratio for OSD size." msgstr "Визначити коефіцієнт масштабування розміру повідомлень" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "Червона границя [%]" diff --git a/po/zh_CN.po b/po/zh_CN.po index 202f693..768607f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Nan Feng VDR , 2009.2 # @@ -127,6 +127,15 @@ msgstr "转发器" msgid "stream" msgstr "数据流" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "经典" @@ -187,6 +196,12 @@ msgstr "" msgid "Define the downscale ratio for OSD size." msgstr "" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "红限制[ % ]" diff --git a/po/zh_TW.po b/po/zh_TW.po index 8cad07c..9943582 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,5 +1,5 @@ # VDR plugin language source file. -# Copyright (C) 2007-2018 Rolf Ahrenberg +# Copyright (C) 2007-2019 Rolf Ahrenberg # This file is distributed under the same license as the femon package. # Nan Feng VDR , 2009.2 # @@ -127,6 +127,15 @@ msgstr "轉發器" msgid "stream" msgstr "數據流" +msgid "dBm" +msgstr "dBm" + +msgid "dBuV" +msgstr "dBuV" + +msgid "dBV" +msgstr "dBV" + msgid "Classic" msgstr "經典" @@ -187,6 +196,12 @@ msgstr "" msgid "Define the downscale ratio for OSD size." msgstr "" +msgid "Signal level unit" +msgstr "" + +msgid "Define the used signal level unit." +msgstr "" + msgid "Red limit [%]" msgstr "紅限制[ % ]" diff --git a/setup.c b/setup.c index e1e94ff..1662509 100644 --- a/setup.c +++ b/setup.c @@ -19,6 +19,7 @@ cMenuFemonSetup::cMenuFemonSetup() themeM(FemonConfig.GetTheme()), positionM(FemonConfig.GetPosition()), downscaleM(FemonConfig.GetDownscale()), + signalUnitM(FemonConfig.GetSignalUnit()), redLimitM(FemonConfig.GetRedLimit()), greenLimitM(FemonConfig.GetGreenLimit()), updateIntervalM(FemonConfig.GetUpdateInterval()), @@ -30,24 +31,28 @@ cMenuFemonSetup::cMenuFemonSetup() debug1("%s", __PRETTY_FUNCTION__); strn0cpy(svdrpIpM, FemonConfig.GetSvdrpIp(), sizeof(svdrpIpM)); - dispModesM[eFemonModeBasic] = tr("basic"); - dispModesM[eFemonModeTransponder] = tr("transponder"); - dispModesM[eFemonModeStream] = tr("stream"); - dispModesM[eFemonModeAC3] = tr("AC-3"); + dispModesM[eFemonModeBasic] = tr("basic"); + dispModesM[eFemonModeTransponder] = tr("transponder"); + dispModesM[eFemonModeStream] = tr("stream"); + dispModesM[eFemonModeAC3] = tr("AC-3"); - skinsM[eFemonSkinClassic] = tr("Classic"); - skinsM[eFemonSkinElchi] = tr("Elchi"); + signalUnitsM[eFemonSignalUnitdBm] = tr("dBm"); + signalUnitsM[eFemonSignalUnitdBuV] = tr("dBuV"); + signalUnitsM[eFemonSignalUnitdBV] = tr("dBV"); - themesM[eFemonThemeClassic] = tr("Classic"); - themesM[eFemonThemeElchi] = tr("Elchi"); - themesM[eFemonThemeSTTNG] = tr("ST:TNG"); - themesM[eFemonThemeDeepBlue] = tr("DeepBlue"); - themesM[eFemonThemeMoronimo] = tr("Moronimo"); - themesM[eFemonThemeEnigma] = tr("Enigma"); - themesM[eFemonThemeEgalsTry] = tr("EgalsTry"); - themesM[eFemonThemeDuotone] = tr("Duotone"); - themesM[eFemonThemeSilverGreen] = tr("SilverGreen"); - themesM[eFemonThemePearlHD] = tr("PearlHD"); + skinsM[eFemonSkinClassic] = tr("Classic"); + skinsM[eFemonSkinElchi] = tr("Elchi"); + + themesM[eFemonThemeClassic] = tr("Classic"); + themesM[eFemonThemeElchi] = tr("Elchi"); + themesM[eFemonThemeSTTNG] = tr("ST:TNG"); + themesM[eFemonThemeDeepBlue] = tr("DeepBlue"); + themesM[eFemonThemeMoronimo] = tr("Moronimo"); + themesM[eFemonThemeEnigma] = tr("Enigma"); + themesM[eFemonThemeEgalsTry] = tr("EgalsTry"); + themesM[eFemonThemeDuotone] = tr("Duotone"); + themesM[eFemonThemeSilverGreen] = tr("SilverGreen"); + themesM[eFemonThemePearlHD] = tr("PearlHD"); SetMenuCategory(mcSetupPlugins); Setup(); @@ -78,6 +83,9 @@ void cMenuFemonSetup::Setup(void) Add(new cMenuEditIntItem(tr("Downscale OSD size [%]"), &downscaleM, 0, 20)); helpM.Append(tr("Define the downscale ratio for OSD size.")); + Add(new cMenuEditStraItem(tr("Signal level unit"), &signalUnitM, eFemonSignalUnitMaxNumber, signalUnitsM)); + helpM.Append(tr("Define the used signal level unit.")); + Add(new cMenuEditIntItem(tr("Red limit [%]"), &redLimitM, 1, 50)); helpM.Append(tr("Define a limit for red bar, which is used to indicate a bad signal.")); @@ -120,6 +128,7 @@ void cMenuFemonSetup::Store(void) SetupStore("Theme", themeM); SetupStore("Position", positionM); SetupStore("Downscale", downscaleM); + SetupStore("SignalUnit", signalUnitM); SetupStore("RedLimit", redLimitM); SetupStore("GreenLimit", greenLimitM); SetupStore("UpdateInterval", updateIntervalM); @@ -135,6 +144,7 @@ void cMenuFemonSetup::Store(void) FemonConfig.SetTheme(themeM); FemonConfig.SetPosition(positionM); FemonConfig.SetDownscale(downscaleM); + FemonConfig.SetSignalUnit(signalUnitM); FemonConfig.SetRedLimit(redLimitM); FemonConfig.SetGreenLimit(greenLimitM); FemonConfig.SetUpdateInterval(updateIntervalM); diff --git a/setup.h b/setup.h index eda3e46..7de13d8 100644 --- a/setup.h +++ b/setup.h @@ -11,6 +11,7 @@ class cMenuFemonSetup : public cMenuSetupPage { private: const char *dispModesM[eFemonModeMaxNumber]; + const char *signalUnitsM[eFemonSignalUnitMaxNumber]; const char *skinsM[eFemonSkinMaxNumber]; const char *themesM[eFemonThemeMaxNumber]; cVector helpM; @@ -20,6 +21,7 @@ private: int themeM; int positionM; int downscaleM; + int signalUnitM; int redLimitM; int greenLimitM; int updateIntervalM; diff --git a/tools.c b/tools.c index 3f8ea4c..9083fe7 100644 --- a/tools.c +++ b/tools.c @@ -14,6 +14,7 @@ #include #include +#include "config.h" #include "osd.h" #include "receiver.h" #include "tools.h" @@ -197,6 +198,17 @@ double getPER(cDevice *deviceP) return 0; } +cString getSignalStrength(double strengthP) +{ + switch (FemonConfig.GetSignalUnit()) { + case eFemonSignalUnitdBm: return cString::sprintf("%.2f %s", strengthP, tr("dBm")); + case eFemonSignalUnitdBuV: return cString::sprintf("%.2f %s", strengthP + (120 - 11.25), tr("dBuV")); + case eFemonSignalUnitdBV: return cString::sprintf("%.2f %s", strengthP - 11.25, tr("dBV")); + default: break; + } + return cString::sprintf("---"); +} + cString getApids(const cChannel *channelP) { int value = 0; diff --git a/tools.h b/tools.h index 1d0793a..d2d7717 100644 --- a/tools.h +++ b/tools.h @@ -29,6 +29,7 @@ double getSignal(cDevice *deviceP); double getBER(cDevice *deviceP); double getPER(cDevice *deviceP); +cString getSignalStrength(double strengthP); cString getApids(const cChannel *channelP); cString getDpids(const cChannel *channelP); cString getSpids(const cChannel *channelP);