code cleanup in ChannelSelection,
[vuplus_dvbapp] / lib / dvb / frontend.cpp
index cfd2610..c4d6412 100644 (file)
@@ -660,9 +660,9 @@ int eDVBFrontend::readFrontendData(int type)
        return 0;
 }
 
-void PutToDict(PyObject *dict, const char*key, long value)
+void PutToDict(ePyObject &dict, const char*key, long value)
 {
-       PyObject *item = PyInt_FromLong(value);
+       ePyObject item = PyInt_FromLong(value);
        if (item)
        {
                if (PyDict_SetItemString(dict, key, item))
@@ -673,9 +673,9 @@ void PutToDict(PyObject *dict, const char*key, long value)
                eDebug("could not create PyObject for %s", key);
 }
 
-void PutToDict(PyObject *dict, const char*key, const char *value)
+void PutToDict(ePyObject &dict, const char*key, const char *value)
 {
-       PyObject *item = PyString_FromString(value);
+       ePyObject item = PyString_FromString(value);
        if (item)
        {
                if (PyDict_SetItemString(dict, key, item))
@@ -686,7 +686,7 @@ void PutToDict(PyObject *dict, const char*key, const char *value)
                eDebug("could not create PyObject for %s", key);
 }
 
-void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, eDVBFrontend *fe)
+void fillDictWithSatelliteData(ePyObject dict, const FRONTENDPARAMETERS &parm, eDVBFrontend *fe)
 {
        int freq_offset=0;
        int csw=0;
@@ -770,7 +770,7 @@ void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, e
        PutToDict(dict, "system", tmp);
 }
 
-void fillDictWithCableData(PyObject *dict, const FRONTENDPARAMETERS &parm)
+void fillDictWithCableData(ePyObject dict, const FRONTENDPARAMETERS &parm)
 {
        const char *tmp=0;
        PutToDict(dict, "frequency", parm_frequency/1000);
@@ -831,7 +831,7 @@ void fillDictWithCableData(PyObject *dict, const FRONTENDPARAMETERS &parm)
        PutToDict(dict, "modulation", tmp);
 }
 
-void fillDictWithTerrestrialData(PyObject *dict, const FRONTENDPARAMETERS &parm)
+void fillDictWithTerrestrialData(ePyObject dict, const FRONTENDPARAMETERS &parm)
 {
        const char *tmp=0;
        PutToDict(dict, "frequency", parm_frequency);
@@ -973,7 +973,7 @@ void fillDictWithTerrestrialData(PyObject *dict, const FRONTENDPARAMETERS &parm)
 
 PyObject *eDVBFrontend::readTransponderData(bool original)
 {
-       PyObject *ret=PyDict_New();
+       ePyObject ret=PyDict_New();
 
        if (ret)
        {
@@ -1559,6 +1559,12 @@ RESULT eDVBFrontend::prepare_cable(const eDVBFrontendParametersCable &feparm)
                parm_u_qam_fec_inner = FEC_AUTO;
                break;
        }
+       eDebug("tuning to %d khz, sr %d, fec %d, modulation %d, inversion %d",
+               parm_frequency/1000,
+               parm_u_qam_symbol_rate,
+               parm_u_qam_fec_inner,
+               parm_u_qam_modulation,
+               parm_inversion);
        return 0;
 }
 
@@ -1782,10 +1788,10 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
 
                std::string enable_5V;
                char configStr[255];
-               snprintf(configStr, 255, "config.Nim%c.terrestrial_5V", 'A'+m_fe);
+               snprintf(configStr, 255, "config.Nims.%d.terrestrial_5V", m_fe);
                m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
                ePythonConfigQuery::getConfigValue(configStr, enable_5V);
-               if (enable_5V == "on")
+               if (enable_5V == "True")
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltage13) );
                else
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltageOff) );
@@ -1996,5 +2002,7 @@ int eDVBFrontend::isCompatibleWith(ePtr<iDVBFrontendParameters> &feparm)
                ASSERT(!feparm->getDVBS(sat_parm));
                return m_sec->canTune(sat_parm, this, 1 << m_fe);
        }
+       else if (m_type == eDVBFrontend::feCable)
+               return 2;  // more prio for cable frontends
        return 1;
 }