X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/0855ea4ed4197c0fc6a8f8fff5820741d80c6d41..cf34bb57372b60d8e66cf5c21e9f73b8d0bc23b8:/lib/python/Components/NimManager.py diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index c5a294ed..5e66b6a6 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -71,7 +71,8 @@ class SecConfigure: self.addSatellite(sec, orbpos) elif (diseqcmode == 3): # diseqc 1.2 if self.satposdepends.has_key(slotid): - tunermask |= (1 << self.satposdepends[slotid]) + for slot in self.satposdepends[slotid]: + tunermask |= (1 << slot) sec.setLatitude(latitude) sec.setLaDirection(laDirection) sec.setLongitude(longitude) @@ -672,6 +673,12 @@ class NimManager: def getNimConfig(self, slotid): return config.Nims[slotid] + + def getSatName(self, pos): + for sat in self.satList: + if sat[0] == pos: + return sat[1] + return _("N/A") def getSatList(self): return self.satList @@ -679,40 +686,44 @@ class NimManager: def getSatListForNim(self, slotid): list = [] if self.nim_slots[slotid].isCompatible("DVB-S"): + nim = config.Nims[slotid] #print "slotid:", slotid #print "self.satellites:", self.satList[config.Nims[slotid].diseqcA.index] #print "diseqcA:", config.Nims[slotid].diseqcA.value - configMode = config.Nims[slotid].configMode.value + configMode = nim.configMode.value if configMode == "equal": - slotid=0 #FIXME add handling for more than two tuners !!! - configMode = config.Nims[slotid].configMode.value + slotid = int(nim.connectedTo.value) + nim = config.Nims[slotid] + configMode = nim.configMode.value + elif configMode == "loopthrough": + slotid = self.sec.getRoot(slotid, int(nim.connectedTo.value)) + nim = config.Nims[slotid] + configMode = nim.configMode.value if configMode == "simple": - dm = config.Nims[slotid].diseqcMode.value + dm = nim.diseqcMode.value if dm in ["single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]: - list.append(self.satList[config.Nims[slotid].diseqcA.index]) + list.append(self.satList[nim.diseqcA.index]) if dm in ["toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"]: - list.append(self.satList[config.Nims[slotid].diseqcB.index]) + list.append(self.satList[nim.diseqcB.index]) if dm == "diseqc_a_b_c_d": - list.append(self.satList[config.Nims[slotid].diseqcC.index]) - list.append(self.satList[config.Nims[slotid].diseqcD.index]) + list.append(self.satList[nim.diseqcC.index]) + list.append(self.satList[nim.diseqcD.index]) if dm == "positioner": for x in self.satList: list.append(x) elif configMode == "advanced": for x in self.satList: - if int(config.Nims[slotid].advanced.sat[x[0]].lnb.value) != 0: + if int(nim.advanced.sat[x[0]].lnb.value) != 0: list.append(x) - return list def getRotorSatListForNim(self, slotid): list = [] if self.nim_slots[slotid].isCompatible("DVB-S"): #print "slotid:", slotid - #print "self.satellites:", self.satList[config.Nims[slotid].diseqcA.value] #print "diseqcA:", config.Nims[slotid].diseqcA.value configMode = config.Nims[slotid].configMode.value @@ -753,6 +764,10 @@ def InitSecParams(): x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value)) config.sec.delay_after_toneburst = x + x = ConfigInteger(default=20, limits = (0, 9999)) + x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_SWITCH_CMDS, configElement.value)) + config.sec.delay_after_change_voltage_before_switch_command = x + x = ConfigInteger(default=200, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_SWITCH_CMDS, configElement.value)) config.sec.delay_after_enable_voltage_before_switch_command = x @@ -761,7 +776,7 @@ def InitSecParams(): x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_BETWEEN_SWITCH_AND_MOTOR_CMD, configElement.value)) config.sec.delay_between_switch_and_motor_command = x - x = ConfigInteger(default=150, limits = (0, 9999)) + x = ConfigInteger(default=500, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MEASURE_IDLE_INPUTPOWER, configElement.value)) config.sec.delay_after_voltage_change_before_measure_idle_inputpower = x @@ -769,11 +784,11 @@ def InitSecParams(): x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_MOTOR_CMD, configElement.value)) config.sec.delay_after_enable_voltage_before_motor_command = x - x = ConfigInteger(default=150, limits = (0, 9999)) + x = ConfigInteger(default=500, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_MOTOR_STOP_CMD, configElement.value)) config.sec.delay_after_motor_stop_command = x - x = ConfigInteger(default=150, limits = (0, 9999)) + x = ConfigInteger(default=500, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MOTOR_CMD, configElement.value)) config.sec.delay_after_voltage_change_before_motor_command = x @@ -785,10 +800,6 @@ def InitSecParams(): x.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_COMMAND_RETRIES, configElement.value)) config.sec.motor_command_retries = x - x = ConfigInteger(default=20, limits = (0, 9999)) - x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_SWITCH_CMDS, configElement.value)) - config.sec.delay_after_change_voltage_before_switch_command = x - # TODO add support for satpos depending nims to advanced nim configuration # so a second/third/fourth cable from a motorized lnb can used behind a # diseqc 1.0 / diseqc 1.1 / toneburst switch