X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/de665315b73c332aaded298c612c4d24d485df6f..ed31f016b6ab55e864bb31bcc0f4c922dfeb7040:/lib/dvb/frontend.cpp?ds=sidebyside diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index c99a64ff..a26f6bd8 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -229,9 +229,6 @@ eDVBFrontend::eDVBFrontend(int adap, int fe, int &ok): m_type(-1), m_fe(fe), m_c ok = 0; return; } - else - eDebug("m_secfd is %d", m_secfd); - FrontendInfo fe_info; sprintf(filename, "/dev/dvb/card%d/frontend%d", adap, fe); #else @@ -379,12 +376,41 @@ void eDVBFrontend::timeout() m_tuning = 0; } +int eDVBFrontend::readFrontendData(int type) +{ + switch(type) + { + case bitErrorRate: + { + uint32_t ber=0; + if (ioctl(m_fd, FE_READ_BER, &ber) < 0 && errno != ERANGE) + eDebug("FE_READ_BER failed (%m)"); + return ber; + } + case signalPower: + { + uint16_t snr=0; + if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE) + eDebug("FE_READ_SNR failed (%m)"); + return snr; + } + case signalQuality: + { + uint16_t strength=0; + if (ioctl(m_fd, FE_READ_SIGNAL_STRENGTH, &strength) < 0 && errno != ERANGE) + eDebug("FE_READ_SIGNAL_STRENGTH failed (%m)"); + return strength; + } + } + return 0; +} + #ifndef FP_IOCTL_GET_ID #define FP_IOCTL_GET_ID 0 #endif int eDVBFrontend::readInputpower() { - int power=m_fe; + int power=m_fe; // this is needed for read inputpower from the correct tuner ! // open front prozessor int fp=::open("/dev/dbox/fp0", O_RDWR); @@ -1009,8 +1035,6 @@ RESULT eDVBFrontend::setData(int num, int val) { if ( num < (int)(sizeof(m_data)/sizeof(int)) ) { - if ( num == 0 ) - eDebug("(%d) set csw %02x", m_fe, val); m_data[num] = val; return 0; }