diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-13 23:22:55 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-13 23:22:55 +0000 |
| commit | 94f8049fca5c1522aef72334ab4f4697600618c0 (patch) | |
| tree | 2d74302fba4c111bcfecc91cc7a8b9b167912ba2 /lib/dvb/sec.cpp | |
| parent | 707680758061af81a33f094241c1f74a6c932a8e (diff) | |
| download | enigma2-94f8049fca5c1522aef72334ab4f4697600618c0.tar.gz enigma2-94f8049fca5c1522aef72334ab4f4697600618c0.zip | |
dont ask for scanning second nim in automatic scan, when it is not meaningful
Diffstat (limited to 'lib/dvb/sec.cpp')
| -rw-r--r-- | lib/dvb/sec.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index b003e16d..c13334d1 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -1032,6 +1032,51 @@ RESULT eDVBSatelliteEquipmentControl::setRotorPosNum(int rotor_pos_num) return 0; } +PyObject *eDVBSatelliteEquipmentControl::get_different_satellites(int tu1, int tu2) +{ + PyObject *ret=0; + if (tu1 != tu2) + { + eDVBRegisteredFrontend *p1=NULL, *p2=NULL; + int cnt=0; + for (eSmartPtrList<eDVBRegisteredFrontend>::iterator it(m_avail_frontends.begin()); it != m_avail_frontends.end(); ++it, ++cnt) + { + if (cnt == tu1) + p1 = *it; + else if (cnt == tu2) + p2 = *it; + } + if (p1 && p2) + { + // check for linked tuners + int tmp1, tmp2; + p1->m_frontend->getData(7, tmp1); + p2->m_frontend->setData(7, tmp2); + if ((void*)tmp1 != p2 && (void*)tmp2 != p1) + { + // check for rotor dependency + p1->m_frontend->getData(8, tmp1); + p2->m_frontend->setData(8, tmp2); + if ((void*)tmp1 != p2 && (void*)tmp2 != p1) + { + // here we know the tuners are not linked and no rotor dependency exist. + // now we check all configured satellites/lnb for difference and at all difference + // to a list of tuples with first value tuner number and second value orbital position + // of satellite + ret = PyList_New(0); + // FIXMEE !! fill list (compare satellites (lofh, lofl, lof threshold, opos)) + } + } + } + } + if (!ret) + { + Py_INCREF(Py_None); + ret = Py_None; + } + return ret; +} + RESULT eDVBSatelliteEquipmentControl::setTunerLinked(int tu1, int tu2) { return setDependencyPointers(tu1, tu2, 7); |
