use setTunerLinked for tunerlinking
[enigma2.git] / lib / python / Components / NimManager.py
index 2baf50b3b8e3ce688ab6dc1f2ef1ebbb49f9bdab..061e4fb829794bda117e81147c6cca85505412de 100644 (file)
@@ -321,8 +321,18 @@ class NimManager:
 
        #callbacks for c++ config
        def nimConfigModeChanged(self, slotid, mode):
-               #print "nimConfigModeChanged set to " + str(mode)
-               pass
+               if (mode != 1): # not linked
+                       print "Unlinking slot " + str(slotid)
+                       # TODO call c++ to unlink nim in slot slotid
+               if (mode == 1): # linked
+                       if (len(self.getNimListOfType(self.nimType["DVB-S"], slotid)) > 0):
+                               print "Linking slot " + str(slotid) + " to " + str(nimmgr.getConfigPrefix(slotid).value)
+                               self.sec.setTunerLinked(slotid, nimmgr.getConfigPrefix(slotid).value)
+                       # TODO call c++ to link nim in slot slotid with nim in slot nimmgr.getConfigPrefix(slotid).value
+       def nimLinkedToChanged(self, slotid, val):
+               print "Linking slot " + str(slotid) + " to " + str(val)
+               self.sec.setTunerLinked(slotid, val)
+               # TODO call c++ to link nim in slot slotid with nim in slot val
        def nimDiseqcModeChanged(self, slotid, mode):
                #print "nimDiseqcModeChanged set to " + str(mode)
                pass
@@ -340,7 +350,6 @@ class NimManager:
                #print "nimDiseqcD set to " + str(val)
                pass
 
-
 def InitNimManager(nimmgr):
        config.Nims = []
        for x in range(nimmgr.nimCount):
@@ -348,6 +357,8 @@ def InitNimManager(nimmgr):
                
        def nimConfigModeChanged(slotid, configElement):
                nimmgr.nimConfigModeChanged(slotid, configElement.value)
+       def nimLinkedToChanged(slotid, configElement):
+               nimmgr.nimLinkedToChanged(slotid, configElement.value)
        def nimDiseqcModeChanged(slotid, configElement):
                nimmgr.nimDiseqcModeChanged(slotid, configElement.value)
                
@@ -366,15 +377,17 @@ def InitNimManager(nimmgr):
                nim = config.Nims[x]
                
                if slot.nimType == nimmgr.nimType["DVB-S"]:
-                       nim.configMode = configElement(cname + "configMode", configSelection, 0, (_("Simple"), _("Linked tuner"))) # _("Advanced")));
+                       nim.configMode = configElement(cname + "configMode", configSelection, 0, (_("Simple"), _("Linked tuner"))) # "Advanced"));
                        nim.diseqcMode = configElement(cname + "diseqcMode", configSelection, 2, (_("Single"), _("Toneburst A/B"), _("DiSEqC A/B"), _("DiSEqC A/B/C/D"), _("Positioner")));
                        nim.diseqcA = configElement(cname + "diseqcA", configSatlist, 192, nimmgr.satList);
                        nim.diseqcB = configElement(cname + "diseqcB", configSatlist, 130, nimmgr.satList);
                        nim.diseqcC = configElement(cname + "diseqcC", configSatlist, 0, nimmgr.satList);
                        nim.diseqcD = configElement(cname + "diseqcD", configSatlist, 0, nimmgr.satList);
-                       nim.longitude = configElement(cname + "longitude", configSequence, [0,0], configsequencearg.get("FLOAT", [(0,90),(0,999)]));
-                       nim.latitude = configElement(cname + "latitude", configSequence, [0,0], configsequencearg.get("FLOAT", [(0,90),(0,999)]));
-                       
+                       nim.positionerMode = configElement(cname + "positionerMode", configSelection, 0, (_("USALS"), _("manual")));
+                       nim.longitude = configElement(cname + "longitude", configSequence, [5,100], configsequencearg.get("FLOAT", [(0,90),(0,999)]));
+                       nim.longitudeOrientation = configElement(cname + "longitudeOrientation", configSelection, 0, (_("East"), _("West")))
+                       nim.latitude = configElement(cname + "latitude", configSequence, [50,767], configsequencearg.get("FLOAT", [(0,90),(0,999)]));
+                       nim.latitudeOrientation = configElement(cname + "latitudeOrientation", configSelection, 0, (_("North"), _("South")))
                        satNimList = nimmgr.getNimListOfType(nimmgr.nimType["DVB-S"], slot.slotid)
                        satNimListNames = []
                        for x in satNimList:
@@ -388,6 +401,7 @@ def InitNimManager(nimmgr):
                        nim.diseqcB.addNotifier(boundFunction(nimPortBChanged,x))
                        nim.diseqcC.addNotifier(boundFunction(nimPortCChanged,x))
                        nim.diseqcD.addNotifier(boundFunction(nimPortDChanged,x))
+                       nim.linkedTo.addNotifier(boundFunction(nimLinkedToChanged,x))
                elif slot.nimType == nimmgr.nimType["DVB-C"]:
                        nim.cable = configElement(cname + "cable", configSelection, 0, nimmgr.cablesList);
                elif slot.nimType == nimmgr.nimType["DVB-T"]: