X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/39548963f2015ea82a8d490b19f4acb7adc7e7fb..9d3112aad388b4369a339b851aa2507a02bb2d4f:/lib/python/Components/NimManager.py diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 1d70580f..c24d8d35 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -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,21 +343,23 @@ 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")) # QPSK default + system = int(attrs.get('system',"0")) # DVB-S default freq = int(attrs.get('frequency',"")) sr = int(attrs.get('symbol_rate',"")) pol = int(attrs.get('polarization',"")) - fec = int(attrs.get('fec_inner',"")) + fec = int(attrs.get('fec_inner',"0")) # AUTO default if self.parsedSat in self.transponders: pass 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,14 +370,14 @@ 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"): freq = int(attrs.get('frequency',"")) sr = int(attrs.get('symbol_rate',"")) - mod = int(attrs.get('modulation',"")) - fec = int(attrs.get('fec_inner',"")) + mod = int(attrs.get('modulation',"3")) # QAM64 default + fec = int(attrs.get('fec_inner',"0")) # AUTO default if self.parsedCab in self.transponders: pass else: @@ -398,14 +400,18 @@ class NimManager: elif (name == "transponder"): # TODO finish this! freq = int(attrs.get('centre_frequency',"")) - bw = int(attrs.get('bandwidth',"")) - const = int(attrs.get('constellation',"")) - crh = int(attrs.get('code_rate_hp',"")) - crl = int(attrs.get('code_rate_lp',"")) - guard = int(attrs.get('guard_interval',"")) - transm = int(attrs.get('transmission_mode',"")) - hierarchy = int(attrs.get('hierarchy_information',"")) - inv = int(attrs.get('inversion',"")) + bw = int(attrs.get('bandwidth',"3")) # AUTO + const = int(attrs.get('constellation',"1")) # AUTO + crh = int(attrs.get('code_rate_hp',"5")) # AUTO + if crh > 5: # our terrestrial.xml is buggy... 6 for AUTO + crh = 5 + crl = int(attrs.get('code_rate_lp',"5")) # AUTO + if crl > 5: # our terrestrial.xml is buggy... 6 for AUTO + crl = 5 + guard = int(attrs.get('guard_interval',"4")) # AUTO + transm = int(attrs.get('transmission_mode',"2")) # AUTO + hierarchy = int(attrs.get('hierarchy_information',"4")) # AUTO + inv = int(attrs.get('inversion',"2")) # AUTO if self.parsedTer in self.transponders: pass else: @@ -582,6 +588,11 @@ class NimManager: #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 == "equal": + slotid=0 #FIXME add handling for more than two tuners !!! + configMode = currentConfigSelectionElement(config.Nims[slotid].configMode) + if configMode == "simple": if (config.Nims[slotid].diseqcMode.value <= 3): list.append(self.satList[config.Nims[slotid].diseqcA.value]) @@ -597,6 +608,7 @@ class NimManager: for x in self.satList: if config.Nims[slotid].advanced.sat[x[1]].lnb.value != 0: list.append(x) + return list def getRotorSatListForNim(self, slotid): @@ -693,9 +705,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 = [] @@ -754,9 +766,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) @@ -767,9 +779,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()