X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9cb4795246ef286ea7eed349639b84d723147b2c..fe407814f6b929a5cb2b396557f0ba0dd0c099d3:/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py?ds=sidebyside diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index 659224ab..6007d789 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -9,6 +9,7 @@ from Components.ConfigList import ConfigList from Components.TunerInfo import TunerInfo from Components.ActionMap import ActionMap from Components.NimManager import nimmanager +from Components.MenuList import MenuList from Components.config import config, ConfigSubsection, configElement_nonSave, configNothing, getConfigListEntry, configSelection, currentConfigSelectionElement, configSatlist class PositionerSetup(Screen): @@ -50,6 +51,7 @@ class PositionerSetup(Screen): self.diseqc = Diseqc(self.feid) self.tuner = Tuner(self.diseqc.getFrontend()) + self.tuner.tune((0,0,0,0,0,0,0,0)) #self.session.nav.stopService() @@ -109,7 +111,7 @@ class PositionerSetup(Screen): self.statusTimer = eTimer() self.statusTimer.timeout.get().append(self.updateStatus) - self.statusTimer.start(100, False) + self.statusTimer.start(50, False) def createConfig(self): config.positioner = ConfigSubsection() @@ -195,15 +197,15 @@ class PositionerSetup(Screen): entry = self.getCurrentConfigPath() if entry == "move": if self.isMoving: - self.diseqc.command("stop") + self.diseqccommand("stop") self.isMoving = False self.stopOnLock = False else: - self.diseqc.command("moveWest", 0) + self.diseqccommand("moveWest", 0) self.isMoving = True self.updateColors("move") elif entry == "limits": - self.diseqc.command("limitOff") + self.diseqccommand("limitOff") elif entry == "tune": self.session.openWithCallback(self.tune, TunerScreen, self.feid) @@ -211,56 +213,60 @@ class PositionerSetup(Screen): entry = self.getCurrentConfigPath() if entry == "move": if self.isMoving: - self.diseqc.command("stop") + self.diseqccommand("stop") self.isMoving = False self.stopOnLock = False else: self.isMoving = True self.stopOnLock = True - self.diseqc.command("moveWest", 0) + self.diseqccommand("moveWest", 0) self.updateColors("move") elif entry == "finemove": print "stepping west" - self.diseqc.command("moveWest", 1) + self.diseqccommand("moveWest", 1) elif entry == "storage": print "store at position", (config.positioner.storage.value + 1) - self.diseqc.command("store", config.positioner.storage.value + 1) + self.diseqccommand("store", config.positioner.storage.value + 1) elif entry == "limits": - self.diseqc.command("limitWest") + self.diseqccommand("limitWest") def yellowKey(self): entry = self.getCurrentConfigPath() if entry == "move": if self.isMoving: - self.diseqc.command("stop") + self.diseqccommand("stop") self.isMoving = False self.stopOnLock = False else: self.isMoving = True self.stopOnLock = True - self.diseqc.command("moveEast", 0) + self.diseqccommand("moveEast", 0) self.updateColors("move") elif entry == "finemove": print "stepping east" - self.diseqc.command("moveEast", 1) + self.diseqccommand("moveEast", 1) elif entry == "storage": print "move to position", (config.positioner.storage.value + 1) - self.diseqc.command("moveTo", config.positioner.storage.value + 1) + self.diseqccommand("moveTo", config.positioner.storage.value + 1) elif entry == "limits": - self.diseqc.command("limitEast") + self.diseqccommand("limitEast") # def blueKey(self): entry = self.getCurrentConfigPath() if entry == "move": if self.isMoving: - self.diseqc.command("stop") + self.diseqccommand("stop") self.isMoving = False self.stopOnLock = False else: - self.diseqc.command("moveEast", 0) + self.diseqccommand("moveEast", 0) self.isMoving = True self.updateColors("move") print "moving east" + + def diseqccommand(self, cmd, param = 0): + self.diseqc.command(cmd, param) + self.tuner.retune() def updateStatus(self): self["snr_percentage"].update() @@ -275,7 +281,7 @@ class PositionerSetup(Screen): self["symbolrate_value"].setText(str(transponderdata["symbol_rate"])) self["fec_value"].setText(str(transponderdata["fec_inner"])) if transponderdata["tuner_locked"] == 1 and self.isMoving and self.stopOnLock: - self.diseqc.command("stop") + self.diseqccommand("stop") self.isMoving = False self.stopOnLock = False self.updateColors(self.getCurrentConfigPath()) @@ -345,8 +351,12 @@ class Tuner: parm.orbital_position = 192 feparm = eDVBFrontendParameters() feparm.setDVBS(parm, True) + self.lastparm = feparm self.frontend.tune(feparm) + def retune(self): + self.frontend.tune(self.lastparm) + def getTransponderData(self): return self.frontend.readTransponderData(True) @@ -451,7 +461,12 @@ class NimSelection(Screen): def __init__(self, session): Screen.__init__(self, session) - self["nimlist"] = MenuList(nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"])) + nimlist = nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"]) + nimMenuList = [] + for x in nimlist: + nimMenuList.append((_("NIM ") + (["A", "B", "C", "D"][x]) + ": " + nimmanager.getNimName(x) + " (" + nimmanager.getNimTypeName(x) + ")", x)) + + self["nimlist"] = MenuList(nimMenuList) self["actions"] = ActionMap(["OkCancelActions"], { @@ -461,7 +476,8 @@ class NimSelection(Screen): def okbuttonClick(self): selection = self["nimlist"].getCurrent() - self.session.open(PositionerSetup, selection[1].slotid) + print selection + self.session.open(PositionerSetup, selection[1]) def PositionerMain(session, **kwargs): nimList = nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"])