one motor command retrie should be enough (in normal case no retrie is
[enigma2.git] / lib / python / Components / NimManager.py
index 18c09b6e63f249e90f3f172265eb053c274b2a3b..04ea2889203ae3f02190b0b358da80b7132d93ca 100644 (file)
@@ -1,6 +1,6 @@
 from config import config, ConfigSubsection, ConfigSelection, ConfigFloat, ConfigSatlist, ConfigYesNo, ConfigInteger, ConfigSubList, ConfigNothing, ConfigSubDict, ConfigOnOff
 
-from enigma import eDVBSatelliteEquipmentControl, \
+from enigma import eDVBSatelliteEquipmentControl as secClass, \
        eDVBSatelliteLNBParameters as lnbParam, \
        eDVBSatelliteDiseqcParameters as diseqcParam, \
        eDVBSatelliteSwitchParameters as switchParam, \
@@ -92,7 +92,7 @@ class SecConfigure:
                return self.satList
 
        def update(self):
-               sec = eDVBSatelliteEquipmentControl.getInstance()
+               sec = secClass.getInstance()
                sec.clear() ## this do unlinking NIMs too !!
                print "sec config cleared"
                self.satList = []
@@ -186,10 +186,10 @@ class SecConfigure:
                                        sec.setLNBLOFH(currLnb.lofh.value * 1000)
                                        sec.setLNBThreshold(currLnb.threshold.value * 1000)
                                        
-                               if currLnb.output_12v.value == "0V":
-                                       pass # nyi in drivers
-                               elif currLnb.output_12v.value == "12V":
-                                       pass # nyi in drivers
+#                              if currLnb.output_12v.value == "0V":
+#                                      pass # nyi in drivers
+#                              elif currLnb.output_12v.value == "12V":
+#                                      pass # nyi in drivers
                                        
                                if currLnb.increased_voltage.value:
                                        sec.setLNBIncreasedVoltage(lnbParam.ON)
@@ -421,7 +421,7 @@ class NimManager:
                return self.cablesList[0]
        
        def getCableTrustNit(self, nim):
-               return (config.Nims[nim].cabletype.value == "quick")
+               return config.Nims[nim].cabletype.value == "quick"
 
        def getTerrestrialDescription(self, nim):
                return self.terrestrialsList[config.Nims[nim].terrestrial.index][0]
@@ -640,7 +640,65 @@ class NimManager:
                #print "nimDiseqcD set to " + str(val)
                pass
 
+def InitSecParams():
+       config.sec = ConfigSubsection()
+
+       x = ConfigInteger(default=15)
+       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.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.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_BETWEEN_DISEQC_REPEATS, configElement.value))
+       config.sec.delay_between_diseqc_repeats = x
+
+       x = ConfigInteger(default=50)
+       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.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_TONEBURST, configElement.value))
+       config.sec.delay_after_toneburst = x
+
+       x = ConfigInteger(default=120)
+       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.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.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.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.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.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.addNotifier(lambda configElement: secClass.setParam(secClass.MOTOR_RUNNING_TIMEOUT, configElement.value))
+       config.sec.motor_running_timeout = x
+
+       x = ConfigInteger(default=1)
+       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())
@@ -768,7 +826,7 @@ def InitNimManager(nimmgr):
                                nim.advanced.lnb[x].lofl = ConfigInteger(default=9750, limits = (0, 99999))
                                nim.advanced.lnb[x].lofh = ConfigInteger(default=10600, limits = (0, 99999))
                                nim.advanced.lnb[x].threshold = ConfigInteger(default=11700, limits = (0, 99999))
-                               nim.advanced.lnb[x].output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
+#                              nim.advanced.lnb[x].output_12v = ConfigSelection(choices = [("0V", _("0 V")), ("12V", _("12 V"))], default="0V")
                                nim.advanced.lnb[x].increased_voltage = ConfigYesNo(default=False)
                                nim.advanced.lnb[x].toneburst = ConfigSelection(choices = [("none", _("None")), ("A", _("A")), ("B", _("B"))], default = "none")
                                nim.advanced.lnb[x].diseqcMode = ConfigSelection(choices = [("none", _("None")), ("1_0", _("1.0")), ("1_1", _("1.1")), ("1_2", _("1.2"))], default = "none")
@@ -794,7 +852,7 @@ def InitNimManager(nimmgr):
                                nim.advanced.lnb[x].powerThreshold = ConfigInteger(default=50, limits=(0, 100))
 
                elif slot.nimType == nimmgr.nimType["DVB-C"]:
-                       nim.cabletype = ConfigSelection(choices = [("quick", _("Quick")), ("complete", _("Complete"))])
+                       nim.cabletype = ConfigSelection(choices = [("quick", _("Quick")), ("complete", _("Complete"))], default = "complete")
                elif slot.nimType == nimmgr.nimType["DVB-T"]:
                        list = []
                        n = 0