X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FSatfinder%2Fplugin.py;h=d6d967d25742b8f1bba8bd46206ac9b87355be2f;hb=7f088b2e0ec5051c3b9b9a1942198f0be28f315b;hp=1a520771e2ba96b7b703d30dd8971fa67897129e;hpb=961239a024248ee557f1d4fe6797c7f27e2ecf6b;p=vuplus_dvbapp diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py index 1a52077..d6d967d 100644 --- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py @@ -1,5 +1,5 @@ -from enigma import eTimer, eDVBSatelliteEquipmentControl, eDVBResourceManager,\ - eDVBDiseqcCommand, eDVBFrontendParametersSatellite, eDVBFrontendParameters +from enigma import eDVBResourceManager,\ + eDVBFrontendParametersSatellite, eDVBFrontendParameters from Screens.Screen import Screen from Screens.ScanSetup import ScanSetup @@ -7,12 +7,11 @@ from Screens.MessageBox import MessageBox from Plugins.Plugin import PluginDescriptor from Components.Label import Label -from Components.ConfigList import ConfigList -from Components.TunerInfo import TunerInfo +from Components.Sources.FrontendStatus import FrontendStatus from Components.ActionMap import ActionMap from Components.NimManager import nimmanager, getConfigSatlist from Components.MenuList import MenuList -from Components.config import ConfigSelection, ConfigSatlist, getConfigListEntry +from Components.config import ConfigSelection, getConfigListEntry class Tuner: def __init__(self, frontend): @@ -42,19 +41,42 @@ class Tuner: class Satfinder(ScanSetup): skin = """ - + - - - - - - - - - - - + + + + + + + SNRdB + + + SNR + + + AGC + + + BER + + + SNR + + + AGC + + + BER + + + LOCK + + + + LOCK + Invert + """ def openFrontend(self): @@ -77,8 +99,7 @@ class Satfinder(ScanSetup): self.initcomplete = False self.feid = feid self.oldref = None - self.frontendStatus = { } - + if not self.openFrontend(): self.oldref = session.nav.getCurrentlyPlayingServiceReference() session.nav.stopService() # try to disable foreground service @@ -91,38 +112,13 @@ class Satfinder(ScanSetup): ScanSetup.__init__(self, session) self.tuner = Tuner(self.frontend) - - self["snr"] = Label() - self["agc"] = Label() - self["ber"] = Label() - self["lock"] = Label() - self["snr_percentage"] = TunerInfo(TunerInfo.SNR_PERCENTAGE, statusDict = self.frontendStatus) - self["agc_percentage"] = TunerInfo(TunerInfo.AGC_PERCENTAGE, statusDict = self.frontendStatus) - self["ber_value"] = TunerInfo(TunerInfo.BER_VALUE, statusDict = self.frontendStatus) - self["snr_bar"] = TunerInfo(TunerInfo.SNR_BAR, statusDict = self.frontendStatus) - self["agc_bar"] = TunerInfo(TunerInfo.AGC_BAR, statusDict = self.frontendStatus) - self["ber_bar"] = TunerInfo(TunerInfo.BER_BAR, statusDict = self.frontendStatus) - self["lock_state"] = TunerInfo(TunerInfo.LOCK_STATE, statusDict = self.frontendStatus) - self["introduction"].setText("") - - self.statusTimer = eTimer() - self.statusTimer.timeout.get().append(self.updateStatus) - self.statusTimer.start(50, False) + self["Frontend"] = FrontendStatus(frontend_source = lambda : self.frontend, update_interval = 100) self.initcomplete = True + self.onClose.append(self.__onClose) - def updateStatus(self): - if self.frontend: - self.frontend.getFrontendStatus(self.frontendStatus) - else: - self.frontendStatus.clear() - self["snr_percentage"].update() - self["agc_percentage"].update() - self["ber_value"].update() - self["snr_bar"].update() - self["agc_bar"].update() - self["ber_bar"].update() - self["lock_state"].update() + def __onClose(self): + self.session.nav.playService(self.oldref) def createSetup(self): self.typeOfTuningEntry = None @@ -197,6 +193,8 @@ class Satfinder(ScanSetup): pol = "CL" elif x[3] == 3: pol = "CR" + else: + pol = "??" if x[4] == 0: fec = "FEC_AUTO" elif x[4] == 1: @@ -209,10 +207,18 @@ class Satfinder(ScanSetup): fec = "FEC_5_6" elif x[4] == 5: fec = "FEC_7_8" - elif x[4] == 5: - fec = "FEC_8_9" elif x[4] == 6: + fec = "FEC_8_9" + elif x[4] == 7: + fec = "FEC_3_5" + elif x[4] == 8: + fec = "FEC_4_5" + elif x[4] == 9: + fec = "FEC_9_10" + elif x[4] == 15: fec = "FEC_None" + else: + fec = "FEC_Unknown" list.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec) self.tuning_transponder = ConfigSelection(choices = list) self.tuning_transponder.addNotifier(self.retune, initial_call = False) @@ -225,7 +231,8 @@ class Satfinder(ScanSetup): if self.frontend: self.frontend = None del self.raw_channel - self.session.nav.playService(self.oldref) + else: + self.oldref = None self.close(None) def keyCancel(self): @@ -278,11 +285,14 @@ def SatfinderMain(session, **kwargs): else: session.open(NimSelection) -def SatfinderStart(menuid): +def SatfinderStart(menuid, **kwargs): if menuid == "scan": - return [(_("Satfinder"), SatfinderMain)] + return [(_("Satfinder"), SatfinderMain, "satfinder", None)] else: return [] def Plugins(**kwargs): - return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_SETUP, fnc=SatfinderStart) + if (nimmanager.hasNimType("DVB-S")): + return PluginDescriptor(name=_("Satfinder"), description="Helps setting up your dish", where = PluginDescriptor.WHERE_MENU, fnc=SatfinderStart) + else: + return []