X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FSystemPlugins%2FPositionerSetup%2Fplugin.py;h=a45676f972e5d413fad87e039ce875429521a86d;hb=84347bead42c346b606fc9d95858688b96ec886f;hp=a4008c2dff912feac0ec46eebca83c585d45cf60;hpb=cd019e4b226fc51bfb11d113072dda3ba6013b13;p=vuplus_dvbapp diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index a4008c2..a45676f 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -26,22 +26,20 @@ class PositionerSetup(Screen): - - - - - - - + + + + + + - - + - - - + + + @@ -66,7 +64,7 @@ class PositionerSetup(Screen): self.diseqc = Diseqc(self.frontend) self.tuner = Tuner(self.frontend) - self.tuner.tune((0,0,0,0,0,0)) + self.tuner.tune((0,0,0,0,0,0,0,0,0,0)) self.createConfig() @@ -81,27 +79,18 @@ class PositionerSetup(Screen): self["yellow"] = self.yellow self.blue = Label("") self["blue"] = self.blue - + self.list = [] self["list"] = ConfigList(self.list) self.createSetup() - - self["snr"] = Label() - self["agc"] = Label() - self["ber"] = Label() - self["lock"] = Label() + + self["snr_db"] = TunerInfo(TunerInfo.SNR_DB, statusDict = self.frontendStatus) 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["frequency"] = Label() - self["symbolrate"] = Label() - self["fec"] = Label() - self["frequency_value"] = Label("") self["symbolrate_value"] = Label("") self["fec_value"] = Label("") @@ -124,7 +113,7 @@ class PositionerSetup(Screen): self.statusTimer = eTimer() self.statusTimer.callback.append(self.updateStatus) - self.statusTimer.start(50, False) + self.statusTimer.start(50, True) self.onClose.append(self.__onClose) def __onClose(self): @@ -329,11 +318,10 @@ class PositionerSetup(Screen): def updateStatus(self): if self.frontend: self.frontend.getFrontendStatus(self.frontendStatus) + self["snr_db"].update() 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() transponderdata = self.tuner.getTransponderData() @@ -345,6 +333,7 @@ class PositionerSetup(Screen): self.isMoving = False self.stopOnLock = False self.updateColors(self.getCurrentConfigPath()) + self.statusTimer.start(50, True) def tune(self, transponder): if transponder is not None: @@ -399,8 +388,10 @@ class Tuner: parm.fec = transponder[3] parm.inversion = transponder[4] parm.orbital_position = transponder[5] - parm.system = 0 # FIXMEE !! HARDCODED DVB-S (add support for DVB-S2) - parm.modulation = 1 # FIXMEE !! HARDCODED QPSK + 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 @@ -439,21 +430,35 @@ class TunerScreen(ScanSetup): self.list.append(self.typeOfTuningEntry) self.satEntry = getConfigListEntry(_('Satellite'), tuning.sat) self.list.append(self.satEntry) + nim = nimmanager.nim_slots[self.feid] + self.systemEntry = None + if tuning.type.value == "manual_transponder": + if nim.isCompatible("DVB-S2"): + self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system) + 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.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(_("FEC"), self.scan_sat.fec)) + if self.scan_sat.system.value == "dvb-s": + self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec)) + elif self.scan_sat.system.value == "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(_('Rolloff'), self.scan_sat.rolloff)) + self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot)) elif tuning.type.value == "predefined_transponder": self.list.append(getConfigListEntry(_("Transponder"), tuning.transponder)) self["config"].list = self.list self["config"].l.setList(self.list) def newConfig(self): - if self["config"].getCurrent() == self.typeOfTuningEntry: - self.createSetup() - elif self["config"].getCurrent() == self.satEntry: + if self["config"].getCurrent() in (self.typeOfTuningEntry, self.satEntry, self.systemEntry): self.createSetup() def createConfig(self, foo): @@ -517,19 +522,38 @@ class TunerScreen(ScanSetup): tuning.transponder = ConfigSelection(choices=tps) def keyGo(self): - returnvalue = (0, 0, 0, 0, 0, 0) + returnvalue = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) satpos = int(tuning.sat.value) if tuning.type.value == "manual_transponder": + if self.scan_sat.system.value == "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, self.scan_sat.polarization.index, - self.scan_sat.fec.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, - satpos) + satpos, + self.scan_sat.system.index, + self.scan_sat.modulation.index, + self.scan_sat.rolloff.index, + self.scan_sat.pilot.index) elif tuning.type.value == "predefined_transponder": transponder = nimmanager.getTransponders(satpos)[tuning.transponder.index] - returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, satpos) + returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), + transponder[3], transponder[4], 2, satpos, transponder[5], transponder[6], transponder[8], transponder[9]) self.close(returnvalue) def keyCancel(self): @@ -537,7 +561,7 @@ class TunerScreen(ScanSetup): class RotorNimSelection(Screen): skin = """ - + """