X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/fd6e4663672142f13548a43a0d54fa87d67a98a5..0383b38c654919cf8a1c08e44795804d98568923:/lib/python/Components/NimManager.py diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index a3e64820..92ef9dea 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -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) @@ -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"): @@ -422,9 +424,18 @@ class NimManager: def getTranspondersCable(self, cable): return self.transponderscable[cable] + def getTranspondersTerrestrial(self, region): + return self.transpondersterrestrial[region] + def getCableDescription(self, nim): return self.cablesList[config.Nims[nim].cable.value] + def getTerrestrialDescription(self, nim): + return self.terrestrialsList[config.Nims[nim].terrestrial.value][0] + + def getTerrestrialFlags(self, nim): + return self.terrestrialsList[config.Nims[nim].terrestrial.value][1] + def getConfiguredSats(self): return self.sec.getSatList() @@ -477,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"): @@ -561,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 = [] @@ -587,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 @@ -605,6 +641,8 @@ class NimManager: pass def InitNimManager(nimmgr): + have_terrestrial_tuner = False + config.terrestrial = ConfigSubsection() config.Nims = [] for x in range(nimmgr.nimCount): config.Nims.append(ConfigSubsection()) @@ -622,6 +660,8 @@ def InitNimManager(nimmgr): nimmgr.nimPortCChanged(slotid, configElement.vals[configElement.value][1]) def nimPortDChanged(slotid, configElement): nimmgr.nimPortDChanged(slotid, configElement.vals[configElement.value][1]) + def terrestrial_5v_changed(configElement): + configElement.save() for slot in nimmgr.nimslots: x = slot.slotid @@ -659,9 +699,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 = [] @@ -708,7 +748,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) @@ -720,15 +760,16 @@ 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) elif slot.nimType == nimmgr.nimType["DVB-C"]: nim.cable = configElement(cname + "cable", configSelection, 0, nimmgr.cablesList, False); elif slot.nimType == nimmgr.nimType["DVB-T"]: + have_terrestrial_tuner = True list = [] for x in nimmgr.terrestrialsList: list.append(x[0]) @@ -736,6 +777,12 @@ def InitNimManager(nimmgr): else: print "pls add support for this frontend type!" + if have_terrestrial_tuner: + config.terrestrial.enable_5V = configElement("config.terrestrial.enable_5V", configSelection, 1, (("yes", _("Yes")), ("no", _("No"))), True); + config.terrestrial.enable_5V.addNotifier(terrestrial_5v_changed) + nimmgr.sec = SecConfigure(nimmgr) + + nimmanager = NimManager()