small fix
[enigma2.git] / lib / dvb / frontend.cpp
index c99a64ff656baf3bdd462b2dc58b1ab0c30e6d32..a26f6bd85b36dffacf0246b57c34ba91f40230ac 100644 (file)
@@ -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;
        }