diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2008-03-11 22:45:54 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2008-03-11 22:45:54 +0000 |
| commit | 0980594e3037839b361eae71646ccf960aaa2659 (patch) | |
| tree | be556b66116fc270362c79f38a8afb08020be4dc /lib/dvb/frontend.cpp | |
| parent | a4c3836577b7fab796563c6657257cf7e4a9ee73 (diff) | |
| download | enigma2-0980594e3037839b361eae71646ccf960aaa2659.tar.gz enigma2-0980594e3037839b361eae71646ccf960aaa2659.zip | |
signal quality is SNR, signal power is AGC
Diffstat (limited to 'lib/dvb/frontend.cpp')
| -rw-r--r-- | lib/dvb/frontend.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index af821cdb..c8d6d15f 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -617,14 +617,14 @@ int eDVBFrontend::readFrontendData(int type) eDebug("FE_READ_BER failed (%m)"); return ber; } - case signalPower: + case signalQuality: { uint16_t snr=0; if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE) eDebug("FE_READ_SNR failed (%m)"); return snr; } - case signalPowerdB: /* this will move into the driver */ + case signalQualitydB: /* this will move into the driver */ { uint16_t snr=0; if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE) @@ -669,11 +669,14 @@ int eDVBFrontend::readFrontendData(int type) { float snr_in_db=(snr-39075)/1764.7; return (int)(snr_in_db * 100.0); + } else if (!strcmp(m_description, "Alps BSBE2")) + { + return (int)((snr >> 7) * 10.0); } /* else eDebug("no SNR dB calculation for frontendtype %s yet", m_description); */ return 0x12345678; } - case signalQuality: + case signalPower: { uint16_t strength=0; if (ioctl(m_fd, FE_READ_SIGNAL_STRENGTH, &strength) < 0 && errno != ERANGE) @@ -1060,17 +1063,17 @@ void eDVBFrontend::getFrontendStatus(ePyObject dest) PutToDict(dest, "tuner_locked", readFrontendData(locked)); PutToDict(dest, "tuner_synced", readFrontendData(synced)); PutToDict(dest, "tuner_bit_error_rate", readFrontendData(bitErrorRate)); - PutToDict(dest, "tuner_signal_power", readFrontendData(signalPower)); - int sigPowerdB = readFrontendData(signalPowerdB); - if (sigPowerdB == 0x12345678) // not support yet + PutToDict(dest, "tuner_signal_quality", readFrontendData(signalQuality)); + int sigQualitydB = readFrontendData(signalQualitydB); + if (sigQualitydB == 0x12345678) // not support yet { ePyObject obj=Py_None; Py_INCREF(obj); - PutToDict(dest, "tuner_signal_power_db", obj); + PutToDict(dest, "tuner_signal_quality_db", obj); } else - PutToDict(dest, "tuner_signal_power_db", sigPowerdB); - PutToDict(dest, "tuner_signal_quality", readFrontendData(signalQuality)); + PutToDict(dest, "tuner_signal_quality_db", sigQualitydB); + PutToDict(dest, "tuner_signal_power", readFrontendData(signalPower)); } } |
