X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8b7bd9c03984b5f534a0c50561621c1368d926da..4eac43bf1c66847feef1711990e4c67043f90d79:/lib/dvb/frontend.cpp diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index 04b794d4..8b214130 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -449,21 +449,6 @@ int eDVBFrontend::openFrontend() { case FE_QPSK: m_type = iDVBFrontend::feSatellite; -#if HAVE_DVB_API_VERSION < 3 - if (m_secfd < 0) - { - m_secfd = ::open(m_sec_filename, O_RDWR); - if (m_secfd < 0) - { - eWarning("failed! (%s) %m", m_sec_filename); - ::close(m_fd); - m_fd=-1; - return -1; - } - } - else - eWarning("sec %d already opened", m_dvbid); -#endif break; case FE_QAM: m_type = iDVBFrontend::feCable; @@ -480,6 +465,25 @@ int eDVBFrontend::openFrontend() eDebug("detected %s frontend", "satellite\0cable\0 terrestrial"+fe_info.type*10); } +#if HAVE_DVB_API_VERSION < 3 + if (m_type == iDVBFrontend::feSatellite) + { + if (m_secfd < 0) + { + m_secfd = ::open(m_sec_filename, O_RDWR); + if (m_secfd < 0) + { + eWarning("failed! (%s) %m", m_sec_filename); + ::close(m_fd); + m_fd=-1; + return -1; + } + } + else + eWarning("sec %d already opened", m_dvbid); + } +#endif + setTone(iDVBFrontend::toneOff); setVoltage(iDVBFrontend::voltageOff); @@ -2131,7 +2135,7 @@ int eDVBFrontend::isCompatibleWith(ePtr &feparm) return 1; } -void eDVBFrontend::setSlotInfo(ePyObject obj) +bool eDVBFrontend::setSlotInfo(ePyObject obj) { ePyObject Id, Descr, Enabled; if (!PyTuple_Check(obj) || PyTuple_Size(obj) != 3) @@ -2144,14 +2148,13 @@ void eDVBFrontend::setSlotInfo(ePyObject obj) strcpy(m_description, PyString_AS_STRING(Descr)); m_slotid = PyInt_AsLong(Id); m_enabled = Enabled == Py_True; - // HACK.. the rotor workaround is neede for all NIMs with LNBP21 voltage regulator... m_need_rotor_workaround = !!strstr(m_description, "Alps BSBE1") || !!strstr(m_description, "Alps -S"); - eDebug("setSlotInfo for dvb frontend %d to slotid %d, descr %s, need rotorworkaround %s, enabled %s", m_dvbid, m_slotid, m_description, m_need_rotor_workaround ? "Yes" : "No", m_enabled ? "Yes" : "No" ); - return; + return true; arg_error: PyErr_SetString(PyExc_StandardError, - "eDVBFrontend::setSlotInfo must get a tuple with first param slotid and second param slot description"); + "eDVBFrontend::setSlotInfo must get a tuple with first param slotid, second param slot description and third param enabled boolean"); + return false; }