fix remove last timer
[enigma2.git] / lib / dvb / frontend.cpp
index f44b3fbab9b729bf9ed91b8aa3f74d548dfc6254..7f9fc40f00d9f4c086140938a20947678cd7456e 100644 (file)
@@ -536,13 +536,13 @@ void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, e
 {
        int freq_offset=0;
        int csw=0;
+       const char *fec=0;
        fe->getData(0, csw);
        fe->getData(9, freq_offset);
        int frequency = parm.frequency + freq_offset;
        PutToDict(dict, "frequency", frequency);
-       PutToDict(dict, "inversion", parm.inversion);
        PutToDict(dict, "symbol_rate", parm.u.qpsk.symbol_rate);
-       const char *fec=0;
+
        switch(parm.u.qpsk.fec_inner)
        {
                case FEC_1_2:
@@ -570,20 +570,68 @@ void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, e
 
 void fillDictWithCableData(PyObject *dict, const FRONTENDPARAMETERS &parm)
 {
-/*
-#define parm.frequency parm.Frequency
-#define parm.inversion parm.Inversion
-#define parm.u.qam.symbol_rate parm.u.qam.SymbolRate
-#define parm.u.qam.fec_inner parm.u.qam.FEC_inner
-#define parm.u.qam.modulation parm.u.qam.QAM
-*/
+       const char *tmp=0;
+       PutToDict(dict, "frequency", parm.frequency/1000);
+       PutToDict(dict, "symbol_rate", parm.u.qam.symbol_rate);
+       switch(parm.u.qam.fec_inner)
+       {
+       case FEC_NONE:
+               tmp = "FEC_NONE";
+               break;
+       case FEC_1_2:
+               tmp = "FEC_1_2";
+               break;
+       case FEC_2_3:
+               tmp = "FEC_2_3";
+               break;
+       case FEC_3_4:
+               tmp = "FEC_3_4";
+               break;
+       case FEC_5_6:
+               tmp = "FEC_5_6";
+               break;
+       case FEC_7_8:
+               tmp = "FEC_7_8";
+               break;
+       case FEC_8_9:
+               tmp = "FEC_8_9";
+               break;
+       default:
+       case FEC_AUTO:
+               tmp = "FEC_AUTO";
+               break;
+       }
+       PutToDict(dict, "fec_inner", tmp);
+       switch(parm.u.qam.modulation)
+       {
+       case QAM_16:
+               tmp = "QAM_16";
+               break;
+       case QAM_32:
+               tmp = "QAM_32";
+               break;
+       case QAM_64:    
+               tmp = "QAM_64";
+               break;
+       case QAM_128:
+               tmp = "QAM_128";
+               break;
+       case QAM_256:
+               tmp = "QAM_256";
+               break;
+       default:
+       case QAM_AUTO:
+               tmp = "QAM_AUTO";
+               break;
+       }
+       PutToDict(dict, "modulation", tmp);
 }
 
 void fillDictWithTerrestrialData(PyObject *dict, const FRONTENDPARAMETERS &parm)
 {
+       const char *tmp=0;
+       PutToDict(dict, "frequency", parm.frequency);
 /*
-#define parm.frequency parm.Frequency
-#define parm.inversion parm.Inversion
 #define parm.u.ofdm.bandwidth parm.u.ofdm.bandWidth
 #define parm.u.ofdm.code_rate_LP parm.u.ofdm.LP_CodeRate
 #define parm.u.ofdm.code_rate_HP parm.u.ofdm.HP_CodeRate
@@ -601,9 +649,9 @@ PyObject *eDVBFrontend::readTransponderData(bool original)
        if (ret)
        {
                bool read=m_fd != -1;
-               const char *tmp = "unknown";
+               const char *tmp=0;
 
-               PutToDict(ret, "tuner number", m_fe);
+               PutToDict(ret, "tuner_number", m_fe);
 
                switch(m_type)
                {
@@ -611,54 +659,70 @@ PyObject *eDVBFrontend::readTransponderData(bool original)
                                tmp = "DVB-S";
                                break;
                        case feCable:
-                               tmp="DVB-C";
+                               tmp = "DVB-C";
                                break;
                        case feTerrestrial:
-                               tmp="DVB-T";
+                               tmp = "DVB-T";
                                break;
                        default:
+                               tmp = "UNKNOWN";
                                read=false;
                                break;
                }
-               PutToDict(ret, "tuner type", tmp);
+               PutToDict(ret, "tuner_type", tmp);
 
                if (read)
                {
                        FRONTENDPARAMETERS front;
 
-                       tmp = "unknown";
+                       tmp = "UNKNOWN";
                        switch(m_state)
                        {
                                case stateIdle:
-                                       tmp="idle";
+                                       tmp="IDLE";
                                        break;
                                case stateTuning:
-                                       tmp="tuning";
+                                       tmp="TUNING";
                                        break;
                                case stateFailed:
-                                       tmp="failed";
+                                       tmp="FAILED";
                                        break;
                                case stateLock:
-                                       tmp="lock";
+                                       tmp="LOCKED";
                                        break;
                                case stateLostLock:
-                                       tmp="lostlock";
+                                       tmp="LOSTLOCK";
                                        break;
                                default:
                                        break;
                        }
-                       PutToDict(ret, "tuner state", tmp);
+                       PutToDict(ret, "tuner_state", tmp);
 
-                       PutToDict(ret, "tuner locked", readFrontendData(Locked));
-                       PutToDict(ret, "tuner synced", readFrontendData(Synced));
-                       PutToDict(ret, "tuner bit_error_rate", readFrontendData(bitErrorRate));
-                       PutToDict(ret, "tuner signal_power", readFrontendData(signalPower));
-                       PutToDict(ret, "tuner signal_quality", readFrontendData(signalQuality));
+                       PutToDict(ret, "tuner_locked", readFrontendData(Locked));
+                       PutToDict(ret, "tuner_synced", readFrontendData(Synced));
+                       PutToDict(ret, "tuner_bit_error_rate", readFrontendData(bitErrorRate));
+                       PutToDict(ret, "tuner_signal_power", readFrontendData(signalPower));
+                       PutToDict(ret, "tuner_signal_quality", readFrontendData(signalQuality));
 
                        if (!original && ioctl(m_fd, FE_GET_FRONTEND, &front)<0)
                                eDebug("FE_GET_FRONTEND (%m)");
                        else
                        {
+                               tmp = "INVERSION_AUTO";
+                               switch(parm.inversion)
+                               {
+                                       case INVERSION_ON:
+                                               tmp = "INVERSION_ON";
+                                               break;
+                                       case INVERSION_OFF:
+                                               tmp = "INVERSION_OFF";
+                                               break;
+                                       default:
+                                               break;
+                               }
+                               if (tmp)
+                                       PutToDict(ret, "inversion", tmp);
+
                                switch(m_type)
                                {
                                        case feSatellite: