set hdd standby value for all hdds (not working on hotplug devices,
[enigma2.git] / lib / python / Components / NimManager.py
index c5a294edba797ebbfbc1c7a5287dbe836b04863c..5e66b6a64b5a0d57e8f410f2ecd6cd5fdfd6f2eb 100644 (file)
@@ -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