- lcd4l: add tuner sig/snr/ber

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2022-02-08 23:31:11 +01:00
committed by Thilo Graf
parent cf032199c7
commit e3048051c3
2 changed files with 38 additions and 2 deletions

View File

@@ -78,6 +78,9 @@ extern CPictureViewer *g_PicViewer;
#define RADIOTEXT LCD_DATADIR "radiotext"
#define DOLBYDIGITAL LCD_DATADIR "dolbydigital"
#define TUNER LCD_DATADIR "tuner"
#define TUNER_SIG LCD_DATADIR "tuner_sig"
#define TUNER_SNR LCD_DATADIR "tuner_snr"
#define TUNER_BER LCD_DATADIR "tuner_ber"
#define VOLUME LCD_DATADIR "volume"
#define MODE_REC LCD_DATADIR "mode_rec"
#define MODE_REC_ICON LCD_DATADIR "mode_rec_icon"
@@ -284,6 +287,9 @@ void CLCD4l::Init()
m_Radiotext = -1;
m_DolbyDigital = "n/a";
m_Tuner = -1;
m_Tuner_sig = -1;
m_Tuner_snr = -1;
m_Tuner_ber = -1;
m_Volume = -1;
m_ModeRec = -1;
m_RecordCount = -1;
@@ -563,15 +569,42 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun)
/* ----------------------------------------------------------------- */
if (CFEManager::getInstance()->getLiveFE())
CFrontend *frontend = CFEManager::getInstance()->getLiveFE();
if (frontend)
{
int Tuner = 1 + CFEManager::getInstance()->getLiveFE()->getNumber();
int Tuner = frontend->getNumber() + 1;
if (m_Tuner != Tuner)
{
WriteFile(TUNER, to_string(Tuner));
m_Tuner = Tuner;
}
unsigned int sig = frontend->getSignalStrength() & 0xFFFF;
int Tuner_sig = (sig & 0xFFFF) * 100 / 65535;
if (m_Tuner_sig != Tuner_sig)
{
WriteFile(TUNER_SIG, to_string(Tuner_sig));
m_Tuner_sig = Tuner_sig;
}
unsigned int snr = frontend->getSignalNoiseRatio() & 0xFFFF;
int Tuner_snr = (snr & 0xFFFF) * 100 / 65535;
if (m_Tuner_snr != Tuner_snr)
{
WriteFile(TUNER_SNR, to_string(Tuner_snr));
m_Tuner_snr = Tuner_snr;
}
int Tuner_ber = frontend->getBitErrorRate();
if (m_Tuner_ber != Tuner_ber)
{
WriteFile(TUNER_BER, to_string(Tuner_ber));
m_Tuner_ber = Tuner_ber;
}
}
/* ----------------------------------------------------------------- */

View File

@@ -126,6 +126,9 @@ class CLCD4l
int m_Radiotext;
std::string m_DolbyDigital;
int m_Tuner;
int m_Tuner_sig;
int m_Tuner_snr;
int m_Tuner_ber;
int m_Volume;
int m_ModeRec;
int m_RecordCount;