X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f1735026cf43b48fde28af179b4ef16ce4955cc0..6eeefece35e4269e02fdb7abab4f79d8e7b8f98b:/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index 67da8bb9..6cb0c087 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -10,36 +10,36 @@ 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 +from Components.config import ConfigDummy, ConfigSelection class PositionerSetup(Screen): skin = """ - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + """ def __init__(self, session, feid): self.skin = PositionerSetup.skin @@ -114,23 +114,23 @@ class PositionerSetup(Screen): self.statusTimer.start(50, False) def createConfig(self): - config.positioner = ConfigSubsection() - config.positioner.tune = configElement_nonSave("tune", configNothing, 0, None) - config.positioner.move = configElement_nonSave("move", configNothing, 0, None) - config.positioner.finemove = configElement_nonSave("finemove", configNothing, 0, None) - config.positioner.limits = configElement_nonSave("limits", configNothing, 0, None) + self.positioner_tune = ConfigDummy() + self.positioner_move = ConfigDummy() + self.positioner_finemove = ConfigDummy() + self.positioner_limits = ConfigDummy() + self.positioner_goto0 = ConfigDummy() storepos = [] - for x in range(255): + for x in range(1,255): storepos.append(str(x)) - config.positioner.storage = configElement_nonSave("storage", configSelection, 0, storepos) + self.positioner_storage = ConfigSelection(choices = storepos) def createSetup(self): - self.list.append(getConfigListEntry(_("Tune"), config.positioner.tune)) - self.list.append(getConfigListEntry(_("Positioner movement"), config.positioner.move)) - self.list.append(getConfigListEntry(_("Positioner fine movement"), config.positioner.finemove)) - self.list.append(getConfigListEntry(_("Set limits"), config.positioner.limits)) - self.list.append(getConfigListEntry(_("Positioner storage"), config.positioner.storage)) - + self.list.append(getConfigListEntry(_("Tune"), self.positioner_tune)) + self.list.append(getConfigListEntry(_("Positioner movement"), self.positioner_move)) + self.list.append(getConfigListEntry(_("Positioner fine movement"), self.positioner_finemove)) + self.list.append(getConfigListEntry(_("Set limits"), self.positioner_limits)) + self.list.append(getConfigListEntry(_("Positioner storage"), self.positioner_storage)) + self.list.append(getConfigListEntry(_("Goto 0"), self.positioner_goto0)) self["list"].l.setList(self.list) def go(self): @@ -181,12 +181,17 @@ class PositionerSetup(Screen): self.red.setText(_("Limits off")) self.green.setText(_("Limit west")) self.yellow.setText(_("Limit east")) - self.blue.setText("") + self.blue.setText(_("Limits on")) elif entry == "storage": self.red.setText("") self.green.setText(_("Store position")) self.yellow.setText(_("Goto position")) self.blue.setText("") + elif entry == "goto0": + self.red.setText(_("Goto 0")) + self.green.setText("") + self.yellow.setText("") + self.blue.setText("") else: self.red.setText("") self.green.setText("") @@ -208,7 +213,10 @@ class PositionerSetup(Screen): self.diseqccommand("limitOff") elif entry == "tune": self.session.openWithCallback(self.tune, TunerScreen, self.feid) - + elif entry == "goto0": + print "move to position 0" + self.diseqccommand("moveTo", 0) + def greenKey(self): entry = self.getCurrentConfigPath() if entry == "move": @@ -223,10 +231,10 @@ class PositionerSetup(Screen): self.updateColors("move") elif entry == "finemove": print "stepping west" - self.diseqccommand("moveWest", 1) + self.diseqccommand("moveWest", 0xFF) # one step elif entry == "storage": - print "store at position", (config.positioner.storage.value + 1) - self.diseqccommand("store", config.positioner.storage.value + 1) + print "store at position", (self.positioner_storage.value + 1) + self.diseqccommand("store", self.positioner_storage.value + 1) elif entry == "limits": self.diseqccommand("limitWest") @@ -244,10 +252,10 @@ class PositionerSetup(Screen): self.updateColors("move") elif entry == "finemove": print "stepping east" - self.diseqccommand("moveEast", 1) + self.diseqccommand("moveEast", 0xFF) # one step elif entry == "storage": - print "move to position", (config.positioner.storage.value + 1) - self.diseqccommand("moveTo", config.positioner.storage.value + 1) + print "move to position", (self.positioner_storage.value + 1) + self.diseqccommand("moveTo", self.positioner_storage.value + 1) elif entry == "limits": self.diseqccommand("limitEast") # @@ -263,7 +271,9 @@ class PositionerSetup(Screen): self.isMoving = True self.updateColors("move") print "moving east" - + elif entry == "limits": + self.diseqccommand("limitOn") + def diseqccommand(self, cmd, param = 0): self.diseqc.command(cmd, param) self.tuner.retune() @@ -322,6 +332,8 @@ class Diseqc: string = 'e0316b' + ("%02x" % param) elif what == "store": string = 'e0316a' + ("%02x" % param) + elif what == "limitOn": + string = 'e0316a00' elif what == "limitOff": string = 'e03163' elif what == "limitEast": @@ -350,6 +362,7 @@ class Tuner: 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 feparm = eDVBFrontendParameters() feparm.setDVBS(parm, True) self.lastparm = feparm @@ -401,13 +414,13 @@ class TunerScreen(ScanSetup): self.updateSats() self.createSetup() - def createConfig(self): + def createConfig(self, foo): config.tuning = ConfigSubsection() config.tuning.type = configElement_nonSave("config.tuning.type", configSelection, 0, (("manual_transponder", _("Manual transponder")), ("predefined_transponder", _("Predefined satellite")))) config.tuning.sat = configElement_nonSave("config.tuning.sat", configSatlist, 192, nimmanager.getRotorSatListForNim(self.feid)) - ScanSetup.createConfig(self) + ScanSetup.createConfig(self, None) self.updateSats() def updateSats(self): @@ -451,7 +464,7 @@ class TunerScreen(ScanSetup): returnvalue = (config.scan.sat.frequency.value[0], config.scan.sat.symbolrate.value[0], config.scan.sat.polarization.value, config.scan.sat.fec.value, config.scan.sat.inversion.value, satpos) elif currentConfigSelectionElement(config.tuning.type) == "predefined_transponder": transponder = nimmanager.getTransponders(config.tuning.sat.vals[config.tuning.sat.value][1])[config.tuning.transponder.value] - returnvalue = (int(transponder[1] / 100), int(transponder[2] / 1000), transponder[3], transponder[4], 2, config.tuning.sat.vals[config.tuning.sat.value][1], satpos) + returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, config.tuning.sat.vals[config.tuning.sat.value][1], satpos) self.close(returnvalue) def keyCancel(self):