Merge branch 'obi/bcm_accel'
[enigma2.git] / lib / python / Plugins / SystemPlugins / Satfinder / plugin.py
index c0522eb34422f3ee604d786101f6549fb09cf4c8..e737466a1677cc637411d713e7c4d4dfb757c241 100644 (file)
@@ -12,33 +12,7 @@ from Components.ActionMap import ActionMap
 from Components.NimManager import nimmanager, getConfigSatlist
 from Components.MenuList import MenuList
 from Components.config import ConfigSelection, getConfigListEntry
 from Components.NimManager import nimmanager, getConfigSatlist
 from Components.MenuList import MenuList
 from Components.config import ConfigSelection, getConfigListEntry
-
-class Tuner:
-       def __init__(self, frontend):
-               self.frontend = frontend
-               
-       def tune(self, transponder):
-               if self.frontend:
-                       print "tuning to transponder with data", transponder
-                       parm = eDVBFrontendParametersSatellite()
-                       parm.frequency = transponder[0] * 1000
-                       parm.symbol_rate = transponder[1] * 1000
-                       parm.polarisation = transponder[2]
-                       parm.fec = transponder[3]
-                       parm.inversion = transponder[4]
-                       parm.orbital_position = transponder[5]
-                       parm.system = transponder[6]
-                       parm.modulation = transponder[7]
-                       parm.rolloff = transponder[8]
-                       parm.pilot = transponder[9]
-                       feparm = eDVBFrontendParameters()
-                       feparm.setDVBS(parm, True)
-                       self.lastparm = feparm
-                       self.frontend.tune(feparm)
-
-       def retune(self):
-               if self.frontend:
-                       self.frontend.tune(self.lastparm)
+from Components.TuneTest import Tuner
 
 class Satfinder(ScanSetup):
        def openFrontend(self):
 
 class Satfinder(ScanSetup):
        def openFrontend(self):
@@ -102,14 +76,14 @@ class Satfinder(ScanSetup):
                                self.list.append(self.systemEntry)
                        else:
                                # downgrade to dvb-s, in case a -s2 config was active
                                self.list.append(self.systemEntry)
                        else:
                                # downgrade to dvb-s, in case a -s2 config was active
-                               self.scan_sat.system.value = "dvb-s"
+                               self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
                        self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
                        self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
                        self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
                        self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
                        self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
                        self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
                        self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
                        self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
-                       if self.scan_sat.system.value == "dvb-s":
+                       if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
                                self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
                                self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
-                       elif self.scan_sat.system.value == "dvb-s2":
+                       elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
                                self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
                                self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
                                self.list.append(self.modulationEntry)
                                self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
                                self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
                                self.list.append(self.modulationEntry)
@@ -136,38 +110,28 @@ class Satfinder(ScanSetup):
                returnvalue = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
                satpos = int(self.tuning_sat.value)
                if self.tuning_type.value == "manual_transponder":
                returnvalue = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
                satpos = int(self.tuning_sat.value)
                if self.tuning_type.value == "manual_transponder":
-                       if self.scan_sat.system.value == "dvb-s2":
+                       if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
                                fec = self.scan_sat.fec_s2.value
                        else:
                                fec = self.scan_sat.fec.value
                        returnvalue = (
                                self.scan_sat.frequency.value,
                                self.scan_sat.symbolrate.value,
                                fec = self.scan_sat.fec_s2.value
                        else:
                                fec = self.scan_sat.fec.value
                        returnvalue = (
                                self.scan_sat.frequency.value,
                                self.scan_sat.symbolrate.value,
-                               self.scan_sat.polarization.index,
-                               { "auto": 0,
-                                  "1_2": 1,
-                                  "2_3": 2,
-                                  "3_4": 3,
-                                  "5_6": 4,
-                                  "7_8": 5,
-                                  "8_9": 6,
-                                  "3_5": 7,
-                                  "4_5": 8,
-                                  "9_10": 9,
-                                  "none": 15 }[fec],
-                               self.scan_sat.inversion.index,
+                               self.scan_sat.polarization.value,
+                               fec,
+                               self.scan_sat.inversion.value,
                                satpos,
                                satpos,
-                               self.scan_sat.system.index,
-                               self.scan_sat.modulation.index == 1 and 2 or 1,
-                               self.scan_sat.rolloff.index,
-                               self.scan_sat.pilot.index)
+                               self.scan_sat.system.value,
+                               self.scan_sat.modulation.value,
+                               self.scan_sat.rolloff.value,
+                               self.scan_sat.pilot.value)
                        self.tune(returnvalue)
                elif self.tuning_type.value == "predefined_transponder":
                        tps = nimmanager.getTransponders(satpos)
                        l = len(tps)
                        if l > self.tuning_transponder.index:
                                transponder = tps[self.tuning_transponder.index]
                        self.tune(returnvalue)
                elif self.tuning_type.value == "predefined_transponder":
                        tps = nimmanager.getTransponders(satpos)
                        l = len(tps)
                        if l > self.tuning_transponder.index:
                                transponder = tps[self.tuning_transponder.index]
-                               returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000),
+                               returnvalue = (transponder[1] / 1000, transponder[2] / 1000,
                                        transponder[3], transponder[4], 2, satpos, transponder[5], transponder[6], transponder[8], transponder[9])
                                self.tune(returnvalue)
 
                                        transponder[3], transponder[4], 2, satpos, transponder[5], transponder[6], transponder[8], transponder[9])
                                self.tune(returnvalue)
 
@@ -192,6 +156,7 @@ class Satfinder(ScanSetup):
                        transponderlist = nimmanager.getTransponders(orb_pos)
                        list = []
                        default = None
                        transponderlist = nimmanager.getTransponders(orb_pos)
                        list = []
                        default = None
+                       index = 0
                        for x in transponderlist:
                                if x[3] == 0:
                                        pol = "H"
                        for x in transponderlist:
                                if x[3] == 0:
                                        pol = "H"
@@ -204,33 +169,34 @@ class Satfinder(ScanSetup):
                                else:
                                        pol = "??"
                                if x[4] == 0:
                                else:
                                        pol = "??"
                                if x[4] == 0:
-                                       fec = "FEC_AUTO"
+                                       fec = "FEC Auto"
                                elif x[4] == 1:
                                elif x[4] == 1:
-                                       fec = "FEC_1_2"
+                                       fec = "FEC 1/2"
                                elif x[4] == 2:
                                elif x[4] == 2:
-                                       fec = "FEC_2_3"
+                                       fec = "FEC 2/3"
                                elif x[4] == 3:
                                elif x[4] == 3:
-                                       fec = "FEC_3_4"
+                                       fec = "FEC 3/4"
                                elif x[4] == 4:
                                elif x[4] == 4:
-                                       fec = "FEC_5_6"
+                                       fec = "FEC 5/6"
                                elif x[4] == 5:
                                elif x[4] == 5:
-                                       fec = "FEC_7_8"
+                                       fec = "FEC 7/8"
                                elif x[4] == 6:
                                elif x[4] == 6:
-                                       fec = "FEC_8_9"
+                                       fec = "FEC 8/9"
                                elif x[4] == 7:
                                elif x[4] == 7:
-                                       fec = "FEC_3_5"
+                                       fec = "FEC 3/5"
                                elif x[4] == 8:
                                elif x[4] == 8:
-                                       fec = "FEC_4_5"
+                                       fec = "FEC 4/5"
                                elif x[4] == 9:
                                elif x[4] == 9:
-                                       fec = "FEC_9_10"
+                                       fec = "FEC 9/10"
                                elif x[4] == 15:
                                elif x[4] == 15:
-                                       fec = "FEC_None"
+                                       fec = "FEC None"
                                else:
                                else:
-                                       fec = "FEC_Unknown"
+                                       fec = "FEC Unknown"
                                e = str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec
                                if default is None:
                                e = str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec
                                if default is None:
-                                       default = e
-                               list.append(e)
+                                       default = str(index)
+                               list.append((str(index), e))
+                               index += 1
                        self.tuning_transponder = ConfigSelection(choices = list, default = default)
                        self.tuning_transponder.addNotifier(self.retune, initial_call = False)
 
                        self.tuning_transponder = ConfigSelection(choices = list, default = default)
                        self.tuning_transponder.addNotifier(self.retune, initial_call = False)
 
@@ -284,7 +250,13 @@ class SatNimSelection(Screen):
                self.session.open(Satfinder, selection)
 
 def SatfinderMain(session, **kwargs):
                self.session.open(Satfinder, selection)
 
 def SatfinderMain(session, **kwargs):
-       nimList = nimmanager.getNimListOfType("DVB-S")
+       nims = nimmanager.getNimListOfType("DVB-S")
+
+       nimList = []
+       for x in nims:
+               if not nimmanager.getNimConfig(x).configMode.value in ("loopthrough", "satposdepends", "nothing"):
+                       nimList.append(x)
+
        if len(nimList) == 0:
                session.open(MessageBox, _("No satellite frontend found!!"), MessageBox.TYPE_ERROR)
        else:
        if len(nimList) == 0:
                session.open(MessageBox, _("No satellite frontend found!!"), MessageBox.TYPE_ERROR)
        else:
@@ -304,6 +276,6 @@ def SatfinderStart(menuid, **kwargs):
 
 def Plugins(**kwargs):
        if (nimmanager.hasNimType("DVB-S")):
 
 def Plugins(**kwargs):
        if (nimmanager.hasNimType("DVB-S")):
-               return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_MENU, fnc=SatfinderStart)
+               return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_MENU, needsRestart = False, fnc=SatfinderStart)
        else:
                return []
        else:
                return []