add ValueRange converter
[enigma2.git] / lib / python / Components / NimManager.py
index 9dafaf40cd792306e43ea0e7a16d569c31ce9200..ac81c6249a28ba1f637c79469f97ef6252ca446e 100644 (file)
@@ -44,7 +44,7 @@ class SecConfigure:
                sec.setLNBTunerMask(tunermask)
                sec.setLNBLOFL(9750000)
                sec.setLNBLOFH(10600000)
-               sec.setLNBThreshold(11750000)
+               sec.setLNBThreshold(11700000)
                sec.setLNBIncreasedVoltage(lnbParam.OFF)
                sec.setRepeats(0)
                sec.setFastDiSEqC(0)
@@ -176,7 +176,7 @@ class SecConfigure:
                                if currentConfigSelectionElement(currLnb.lof) == "universal_lnb":
                                        sec.setLNBLOFL(9750000)
                                        sec.setLNBLOFH(10600000)
-                                       sec.setLNBThreshold(11750000)
+                                       sec.setLNBThreshold(11700000)
                                elif currentConfigSelectionElement(currLnb.lof) == "c_band":
                                        sec.setLNBLOFL(5150000)
                                        sec.setLNBLOFH(5150000)
@@ -251,11 +251,11 @@ class SecConfigure:
                                                
                                                if currentConfigSelectionElement(currLnb.diseqcRepeats) == "none":
                                                        sec.setRepeats(0)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "One":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "one":
                                                        sec.setRepeats(1)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "Two":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "two":
                                                        sec.setRepeats(2)
-                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "Three":
+                                               elif currentConfigSelectionElement(currLnb.diseqcRepeats) == "three":
                                                        sec.setRepeats(3)
                                                
                                        setCommandOrder=False
@@ -343,11 +343,13 @@ class NimManager:
                                tpos = int(attrs.get('position',""))
                                if tpos < 0:
                                        tpos = 3600 + tpos
-                               tname = attrs.get('name',"")
+                               tname = attrs.get('name',"").encode("UTF-8")
                                self.satellites[tpos] = tname
                                self.satList.append( (tname, tpos) )
                                self.parsedSat = int(tpos)
                        elif (name == "transponder"):
+                               modulation = int(attrs.get('modulation',"1"))
+                               system = int(attrs.get('system',"0"))
                                freq = int(attrs.get('frequency',""))
                                sr = int(attrs.get('symbol_rate',""))
                                pol = int(attrs.get('polarization',""))
@@ -357,7 +359,7 @@ class NimManager:
                                else:
                                        self.transponders[self.parsedSat] = [ ]
 
-                               self.transponders[self.parsedSat].append((0, freq, sr, pol, fec))
+                               self.transponders[self.parsedSat].append((0, freq, sr, pol, fec, system, modulation))
 
        class parseCables(ContentHandler):
                def __init__(self, cablesList, transponders):
@@ -368,7 +370,7 @@ class NimManager:
                def startElement(self, name, attrs):
                        if (name == "cable"):
                                #print "found sat " + attrs.get('name',"") + " " + str(attrs.get('position',""))
-                               tname = attrs.get('name',"")
+                               tname = attrs.get('name',"").encode("UTF-8")
                                self.cablesList.append(str(tname))
                                self.parsedCab = str(tname)
                        elif (name == "transponder"):
@@ -434,7 +436,6 @@ class NimManager:
        def getTerrestrialFlags(self, nim):
                return self.terrestrialsList[config.Nims[nim].terrestrial.value][1]
 
-
        def getConfiguredSats(self):
                return self.sec.getSatList()
 
@@ -487,7 +488,7 @@ class NimManager:
                                self.nimSocketCount += 1
                        elif line.strip().startswith("Type:"):
                                self.nimTypes[lastsocket] = str(line.strip()[6:])
-                               self.nimTypes[lastsocket] = str("DVB-T")
+                               #self.nimTypes[lastsocket] = str("DVB-T")
                        elif line.strip().startswith("Name:"):
                                self.nimNames[lastsocket] = str(line.strip()[6:])
                        elif line.strip().startswith("empty"):
@@ -571,6 +572,9 @@ class NimManager:
 
        def getNimConfigMode(self, slotid):
                return currentConfigSelectionElement(config.Nims[slotid].configMode)
+       
+       def getSatList(self):
+               return self.satList
 
        def getSatListForNim(self, slotid):
                list = []
@@ -597,6 +601,28 @@ class NimManager:
                                                list.append(x)
                return list
 
+       def getRotorSatListForNim(self, slotid):
+               list = []
+               if (self.getNimType(slotid) == self.nimType["DVB-S"]):
+                       #print "slotid:", slotid
+
+                       #print "self.satellites:", self.satList[config.Nims[slotid].diseqcA.value]
+                       #print "diseqcA:", config.Nims[slotid].diseqcA.value
+                       configMode = currentConfigSelectionElement(config.Nims[slotid].configMode)
+                       if configMode == "simple":
+                               if (config.Nims[slotid].diseqcMode.value == 4):
+                                       for x in self.satList:
+                                               list.append(x)
+                       elif configMode == "advanced":
+                               for x in self.satList:
+                                       nim = config.Nims[slotid]
+                                       lnbnum = nim.advanced.sat[x[1]].lnb.value
+                                       if lnbnum != 0:
+                                               lnb = nim.advanced.lnb[lnbnum]
+                                               if lnb.diseqcMode.value == 3: # diseqc 1.2
+                                                       list.append(x)
+               return list
+
        def nimDiseqcModeChanged(self, slotid, mode):
                #print "nimDiseqcModeChanged set to " + str(mode)
                pass
@@ -669,9 +695,9 @@ def InitNimManager(nimmgr):
                        nim.diseqcC = configElement(cname + "diseqcC", configSatlist, 0, nimmgr.satList, False);
                        nim.diseqcD = configElement(cname + "diseqcD", configSatlist, 0, nimmgr.satList, False);
                        nim.positionerMode = configElement(cname + "positionerMode", configSelection, 0, (("usals", _("USALS")), ("manual", _("manual"))), False);
-                       nim.longitude = configElement(cname + "longitude", configSequence, [5,100], configsequencearg.get("FLOAT", [(0,90),(0,999)]), False);
+                       nim.longitude = configElement(cname + "longitude", configSequence, [5,100], configsequencearg.get("FLOAT", [(0,359),(0,999)]), False);
                        nim.longitudeOrientation = configElement(cname + "longitudeOrientation", configSelection, 0, (("east", _("East")), ("west", _("West"))), False)
-                       nim.latitude = configElement(cname + "latitude", configSequence, [50,767], configsequencearg.get("FLOAT", [(0,90),(0,999)]), False);
+                       nim.latitude = configElement(cname + "latitude", configSequence, [50,767], configsequencearg.get("FLOAT", [(0,359),(0,999)]), False);
                        nim.latitudeOrientation = configElement(cname + "latitudeOrientation", configSelection, 0, (("north", _("North")), ("south", _("South"))), False)
                        satNimList = nimmgr.getNimListOfType(nimmgr.nimType["DVB-S"], slot.slotid)
                        satNimListNames = []
@@ -718,7 +744,7 @@ def InitNimManager(nimmgr):
                                nim.advanced.lnb[x].lof = configElement(cname + "advanced.lnb" + str(x) + ".lof", configSelection, 0, (("universal_lnb", _("Universal LNB")), ("c_band", _("C-Band")), ("user_defined", _("User defined"))), False)
                                nim.advanced.lnb[x].lofl = configElement(cname + "advanced.lnb" + str(x) + ".lofl", configSequence, [9750], configsequencearg.get("INTEGER", (0, 99999)), False)
                                nim.advanced.lnb[x].lofh = configElement(cname + "advanced.lnb" + str(x) + ".lofh", configSequence, [10600], configsequencearg.get("INTEGER", (0, 99999)), False)
-                               nim.advanced.lnb[x].threshold = configElement(cname + "advanced.lnb" + str(x) + ".threshold", configSequence, [11750], configsequencearg.get("INTEGER", (0, 99999)), False)
+                               nim.advanced.lnb[x].threshold = configElement(cname + "advanced.lnb" + str(x) + ".threshold", configSequence, [11700], configsequencearg.get("INTEGER", (0, 99999)), False)
                                nim.advanced.lnb[x].output_12v = configElement(cname + "advanced.lnb" + str(x) + ".output_12v", configSelection, 0, (("0V", _("0 V")), ("12V", _("12 V"))), False)
                                nim.advanced.lnb[x].increased_voltage = configElement(cname + "advanced.lnb" + str(x) + ".increased_voltage", configSelection, 0, (("no", _("No")), ("yes", _("Yes"))), False)
                                nim.advanced.lnb[x].toneburst = configElement(cname + "advanced.lnb" + str(x) + ".toneburst", configSelection, 0, (("none", _("None")), ("A", _("A")), ("B", _("B"))), False)
@@ -730,9 +756,9 @@ def InitNimManager(nimmgr):
                                nim.advanced.lnb[x].commandOrder = configElement(cname + "advanced.lnb" + str(x) + ".commandOrder", configSelection, 0, ("committed, toneburst", "toneburst, committed", "committed, uncommitted, toneburst", "toneburst, committed, uncommitted", "uncommitted, committed, toneburst", "toneburst, uncommitted, commmitted"), False)
                                nim.advanced.lnb[x].uncommittedDiseqcCommand = configElement(cname + "advanced.lnb" + str(x) + ".uncommittedDiseqcCommand", configSelection, 0, ucsw, False)
                                nim.advanced.lnb[x].diseqcRepeats = configElement(cname + "advanced.lnb" + str(x) + ".diseqcRepeats", configSelection, 0, (("none", _("None")), ("one", _("One")), ("two", _("Two")), ("three", _("Three"))), False)
-                               nim.advanced.lnb[x].longitude = configElement(cname + "advanced.lnb" + str(x) + ".longitude", configSequence, [5,100], configsequencearg.get("FLOAT", [(0,90),(0,999)]), False)
+                               nim.advanced.lnb[x].longitude = configElement(cname + "advanced.lnb" + str(x) + ".longitude", configSequence, [5,100], configsequencearg.get("FLOAT", [(0,359),(0,999)]), False)
                                nim.advanced.lnb[x].longitudeOrientation = configElement(cname + "advanced.lnb" + str(x) + ".longitudeOrientation", configSelection, 0, (("east", _("East")), ("west", _("West"))), False)
-                               nim.advanced.lnb[x].latitude = configElement(cname + "advanced.lnb" + str(x) + ".latitude", configSequence, [50,767], configsequencearg.get("FLOAT", [(0,90),(0,999)]), False)
+                               nim.advanced.lnb[x].latitude = configElement(cname + "advanced.lnb" + str(x) + ".latitude", configSequence, [50,767], configsequencearg.get("FLOAT", [(0,359),(0,999)]), False)
                                nim.advanced.lnb[x].latitudeOrientation = configElement(cname + "advanced.lnb" + str(x) + ".latitudeOrientation", configSelection, 0, (("north", _("North")), ("south", _("South"))), False)
                                nim.advanced.lnb[x].powerMeasurement = configElement(cname + "advanced.lnb" + str(x) + ".powerMeasurement", configSelection, 0, (("yes", _("Yes")), ("no", _("No"))), False)
                                nim.advanced.lnb[x].powerThreshold = configElement(cname + "advanced.lnb" + str(x) + ".powerThreshold", configSequence, [50], configsequencearg.get("INTEGER", (0, 100)), False)
@@ -743,9 +769,11 @@ def InitNimManager(nimmgr):
                        for x in nimmgr.terrestrialsList:
                                list.append(x[0])
                        nim.terrestrial = configElement(cname + "terrestrial", configSelection, 0, list, False);
+                       nim.terrestrial_5V = configElement(cname + "terrestrial_5V", configSelection, 1, (("on", _("On")), ("off", _("Off"))), True);
                else:
                        print "pls add support for this frontend type!"         
 
        nimmgr.sec = SecConfigure(nimmgr)
 
+
 nimmanager = NimManager()