aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-05-20 23:47:19 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-05-20 23:47:19 +0000
commit1995abf236d34dd3264435a35f2c9c128cf3afaa (patch)
treed2ea40e72028a56303f93c686f1294691c75fd91 /lib/dvb
parent291c22bb4b7824dd9e4d9528b53172f913a8084a (diff)
downloadenigma2-1995abf236d34dd3264435a35f2c9c128cf3afaa.tar.gz
enigma2-1995abf236d34dd3264435a35f2c9c128cf3afaa.zip
invent proper signalPowerdB enums and use them
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/frontend.cpp12
-rw-r--r--lib/dvb/frontend.h2
-rw-r--r--lib/dvb/idvb.h2
3 files changed, 10 insertions, 6 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index f9ca6c70..d2730a26 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -623,8 +623,13 @@ int eDVBFrontend::readFrontendData(int type)
uint16_t snr=0;
if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
eDebug("FE_READ_SNR failed (%m)");
-
-#if defined(DM8000)
+ return snr;
+ }
+ case signalPowerdB: /* this will move into the driver */
+ {
+ uint16_t snr=0;
+ if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
+ eDebug("FE_READ_SNR failed (%m)");
unsigned int SDS_SNRE = snr << 16;
static float SNR_COEFF[6] = {
@@ -655,8 +660,6 @@ int eDVBFrontend::readFrontendData(int type)
snr_in_db = fval1;
return (int)(snr_in_db * 100.0);
-#endif
- return snr;
}
case signalQuality:
{
@@ -1034,6 +1037,7 @@ void eDVBFrontend::getFrontendStatus(ePyObject dest)
PutToDict(dest, "tuner_synced", readFrontendData(synced));
PutToDict(dest, "tuner_bit_error_rate", readFrontendData(bitErrorRate));
PutToDict(dest, "tuner_signal_power", readFrontendData(signalPower));
+ PutToDict(dest, "tuner_signal_power_db", readFrontendData(signalPowerdB));
PutToDict(dest, "tuner_signal_quality", readFrontendData(signalQuality));
}
}
diff --git a/lib/dvb/frontend.h b/lib/dvb/frontend.h
index cfe25d1a..eb91eb72 100644
--- a/lib/dvb/frontend.h
+++ b/lib/dvb/frontend.h
@@ -109,7 +109,7 @@ public:
RESULT getData(int num, int &data);
RESULT setData(int num, int val);
- int readFrontendData(int type); // bitErrorRate, signalPower, signalQuality, locked, synced
+ int readFrontendData(int type); // bitErrorRate, signalPower, signalPowerdB, signalQuality, locked, synced
void getFrontendStatus(ePyObject dest);
void getTransponderData(ePyObject dest, bool original);
void getFrontendData(ePyObject dest);
diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h
index 0fa10bc8..9c210502 100644
--- a/lib/dvb/idvb.h
+++ b/lib/dvb/idvb.h
@@ -443,7 +443,7 @@ public:
enum { stateIdle, stateTuning, stateFailed, stateLock, stateLostLock };
enum { toneOff, toneOn };
enum { voltageOff, voltage13, voltage18, voltage13_5, voltage18_5 };
- enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber };
+ enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signalPowerdB };
};
SWIG_IGNORE(iDVBFrontend);