X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b6ad75135e8a2a3f8731e53a00f62a139251b805..445d7d902a033d192a6fd641f72bf6423ccaef4a:/lib/python/Components/NimManager.py diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index d6d9d786..741f1db0 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -470,6 +470,7 @@ class NimManager: lastsocket = -1 + entries = {} while 1: line = nimfile.readline() if line == "": @@ -478,17 +479,24 @@ class NimManager: parts = line.strip().split(" ") id = int(parts[2][:1]) lastsocket = int(id) - self.nimSocketCount += 1 + entries[lastsocket] = {} elif line.strip().startswith("Type:"): - self.nimTypes[lastsocket] = str(line.strip()[6:]) - #self.nimTypes[lastsocket] = str("DVB-T") + entries[lastsocket]["type"] = str(line.strip()[6:]) + #entries[lastsocket]["type"] = str("DVB-S2") elif line.strip().startswith("Name:"): - self.nimNames[lastsocket] = str(line.strip()[6:]) + entries[lastsocket]["name"] = str(line.strip()[6:]) elif line.strip().startswith("empty"): - self.nimNames[lastsocket] = _("N/A") - self.nimTypes[lastsocket] = "empty/unknown" - + entries[lastsocket]["type"] = "empty/unknown" + entries[lastsocket]["name"] = _("N/A") nimfile.close() + + for id,entry in entries.items(): + if not(entry.has_key("name") and entry.has_key("type") and self.nimType.has_key(entry["type"])): + entry["name"] = _("N/A") + entry["type"] = "empty/unknown" + self.nimNames[id] = entry["name"] + self.nimTypes[id] = entry["type"] + self.nimSocketCount += 1 def getNimType(self, slotID): if slotID >= self.nimCount: @@ -643,66 +651,71 @@ class NimManager: def InitSecParams(): config.sec = ConfigSubsection() - x = ConfigInteger(default=15) + x = ConfigInteger(default=15, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE, configElement.value)) config.sec.delay_after_continuous_tone_change = x - x = ConfigInteger(default=10) + x = ConfigInteger(default=10, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_VOLTAGE_CHANGE, configElement.value)) config.sec.delay_after_final_voltage_change = x - x = ConfigInteger(default=120) + x = ConfigInteger(default=120, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_BETWEEN_DISEQC_REPEATS, configElement.value)) config.sec.delay_between_diseqc_repeats = x - x = ConfigInteger(default=50) + x = ConfigInteger(default=50, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_LAST_DISEQC_CMD, configElement.value)) config.sec.delay_after_last_diseqc_command = x - x = ConfigInteger(default=50) + x = ConfigInteger(default=50, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value)) config.sec.delay_after_toneburst = x - x = ConfigInteger(default=120) + x = ConfigInteger(default=120, 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 - x = ConfigInteger(default=700) + x = ConfigInteger(default=700, limits = (0, 9999)) 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) + x = ConfigInteger(default=150, 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 - x = ConfigInteger(default=750) + x = ConfigInteger(default=750, limits = (0, 9999)) 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) + x = ConfigInteger(default=150, 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) + x = ConfigInteger(default=150, 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 - x = ConfigInteger(default=120) + x = ConfigInteger(default=120, limits = (0, 9999)) x.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_RUNNING_TIMEOUT, configElement.value)) config.sec.motor_running_timeout = x + x = ConfigInteger(default=1, limits = (0, 5)) + x.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_COMMAND_RETRIES, configElement.value)) + config.sec.motor_command_retries = x + + def InitNimManager(nimmgr): InitSecParams() config.Nims = ConfigSubList() for x in range(nimmgr.nimCount): config.Nims.append(ConfigSubsection()) - + # def nimConfigModeChanged(slotid, configElement): # nimmgr.nimConfigModeChanged(slotid, configElement.value) def nimDiseqcModeChanged(slotid, configElement): nimmgr.nimDiseqcModeChanged(slotid, configElement.value) - + def nimPortAChanged(slotid, configElement): nimmgr.nimPortAChanged(slotid, configElement.value) def nimPortBChanged(slotid, configElement): @@ -716,7 +729,7 @@ def InitNimManager(nimmgr): x = slot.slotid cname = nimmgr.getConfigPrefix(x) nim = config.Nims[x] - + if slot.nimType == nimmgr.nimType["DVB-S"]: if slot.slotid == 0: nim.configMode = ConfigSelection( @@ -780,7 +793,7 @@ def InitNimManager(nimmgr): nim.equalTo = ConfigSelection(choices = satNimListNames) nim.linkedTo = ConfigSelection(choices = satNimListNames) nim.satposDependsTo = ConfigSelection(choices = satNimListNames) - + #perhaps the instance of the slot is more useful? # nim.configMode.addNotifier(boundFunction(nimConfigModeChanged,x)) nim.diseqcMode.addNotifier(boundFunction(nimDiseqcModeChanged,x)) @@ -788,7 +801,7 @@ def InitNimManager(nimmgr): nim.diseqcB.addNotifier(boundFunction(nimPortBChanged,x)) nim.diseqcC.addNotifier(boundFunction(nimPortCChanged,x)) nim.diseqcD.addNotifier(boundFunction(nimPortDChanged,x)) - + # advanced config: nim.advanced = ConfigSubsection() nim.advanced.sats = getConfigSatlist(192,nimmgr.satList) @@ -808,11 +821,11 @@ def InitNimManager(nimmgr): csw = [("none", _("None")), ("AA", _("AA")), ("AB", _("AB")), ("BA", _("BA")), ("BB", _("BB"))] for y in range(0, 16): csw.append((str(0xF0|y), "Input " + str(y+1))) - + ucsw = [("0", _("None"))] for y in range(1, 17): ucsw.append((str(y), "Input " + str(y))) - + nim.advanced.lnb = ConfigSubList() nim.advanced.lnb.append(ConfigNothing()) for x in range(1, 33): @@ -830,11 +843,11 @@ def InitNimManager(nimmgr): nim.advanced.lnb[x].sequenceRepeat = ConfigYesNo(default=False) nim.advanced.lnb[x].commandOrder1_0 = ConfigSelection(choices = [("ct", "committed, toneburst"), ("tc", "toneburst, committed")], default = "ct") nim.advanced.lnb[x].commandOrder = ConfigSelection(choices = [ - ("ct", "committed, toneburst"), - ("tc", "toneburst, committed"), - ("cut", "committed, uncommitted, toneburst"), - ("tcu", "toneburst, committed, uncommitted"), - ("uct", "uncommitted, committed, toneburst"), + ("ct", "committed, toneburst"), + ("tc", "toneburst, committed"), + ("cut", "committed, uncommitted, toneburst"), + ("tcu", "toneburst, committed, uncommitted"), + ("uct", "uncommitted, committed, toneburst"), ("tuc", "toneburst, uncommitted, commmitted")], default="ct") nim.advanced.lnb[x].uncommittedDiseqcCommand = ConfigSelection(choices = ucsw)