X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6d7673190e7fec573aed8e15e98d470cd4189d52..b9bda8a0d43be892f2e5d96ea45ba8d4b2fdae20:/lib/python/Screens/ScanSetup.py diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py index 6237b50d..a3baf70c 100644 --- a/lib/python/Screens/ScanSetup.py +++ b/lib/python/Screens/ScanSetup.py @@ -3,7 +3,7 @@ from ServiceScan import * from Components.config import config, ConfigSubsection, ConfigSelection, ConfigYesNo, ConfigInteger, getConfigListEntry, ConfigSlider, ConfigSatlist, ConfigEnableDisable from Components.ActionMap import NumberActionMap from Components.ConfigList import ConfigList, ConfigListScreen -from Components.NimManager import nimmanager +from Components.NimManager import nimmanager, getConfigSatlist from Components.Label import Label from Screens.MessageBox import MessageBox from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, eDVBSatelliteEquipmentControl, eDVBFrontendParametersTerrestrial, eDVBFrontendParametersCable @@ -91,15 +91,25 @@ def getInitialTransponderList(tlist, pos): def getInitialCableTransponderList(tlist, cable): list = nimmanager.getTranspondersCable(cable) + symbolrates = [6900000, 6875000] + modulations = [3, 5, 1, 2, 4] # QAM 64, 256, 16, 32, 128 + for x in list: if x[0] == 1: #CABLE - parm = eDVBFrontendParametersCable() - parm.frequency = x[1] - parm.symbol_rate = x[2] - parm.modulation = x[3] - parm.fec_inner = x[4] - parm.inversion = 2 # AUTO - tlist.append(parm) + for symbolrate in symbolrates: + for modulation in modulations: + parm = eDVBFrontendParametersCable() + parm.frequency = x[1] + parm.symbol_rate = symbolrate + parm.modulation = modulation + parm.fec_inner = 0 + parm.inversion = 2 # AUTO + #print "frequency:", x[1] + #print "symbol_rate:", x[2] + #print "modulation:", x[3] + #print "fec_inner:", x[4] + #print "inversion:", 2 + tlist.append(parm) def getInitialTerrestrialTransponderList(tlist, region): list = nimmanager.getTranspondersTerrestrial(region) @@ -125,12 +135,11 @@ class ScanSetup(ConfigListScreen, Screen): frontendData = None if self.service is not None: self.feinfo = self.service.frontendInfo() - frontendData = self.feinfo and self.feinfo.getFrontendData(True) + frontendData = self.feinfo and self.feinfo.getAll(True) self.createConfig(frontendData) del self.feinfo del self.service - self["actions"] = NumberActionMap(["SetupActions"], { "ok": self.keyGo, @@ -179,10 +188,10 @@ class ScanSetup(ConfigListScreen, Screen): self.list.append(self.typeOfScanEntry) if nimmanager.getNimType(self.scan_nims.index) == nimmanager.nimType["DVB-S"]: - if self.scan_type.value == "single_transponder": - self.systemEntry = getConfigListEntry(_('Transpondertype'), self.scan_sat.system) - self.list.append(self.systemEntry) + if nimmanager.getNimName(self.scan_nims.index).find("DVB-S2") != -1: + self.systemEntry = getConfigListEntry(_('Transpondertype'), self.scan_sat.system) + self.list.append(self.systemEntry) self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[self.scan_nims.index])) self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency)) self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion)) @@ -318,9 +327,9 @@ class ScanSetup(ConfigListScreen, Screen): elif frontendData["tuner_type"] == "DVB-C": defaultCab["frequency"] = int(frontendData["frequency"] / 1000) defaultCab["symbolrate"] = int(frontendData["symbol_rate"] / 1000) - defaultSat["inversion"] = {"INVERSION_OFF": "off", "INVERSION_ON": "on", "INVERSION_AUTO": "auto"}[frontendData["inversion"]] - defaultSat["fec"] = {"FEC_AUTO": "auto", "FEC_1_2": "1_2", "FEC_2_3": "2_3", "FEC_3_4": "3_4", "FEC_5_6": "5_6", "FEC_7_8": "7_8", "FEC_8_9": "8_9", "FEC_NONE": "none"}[frontendData["fec_inner"]] - defaultSat["modulation"] = {"QAM_AUTO": "auto", "QAM_16": "16qam", "QAM_32": "32qam", "QAM_64": "64qam", "QAM_128": "128qam", "QAM_256": "256qam"}[frontendData["modulation"]] + defaultCab["inversion"] = {"INVERSION_OFF": "off", "INVERSION_ON": "on", "INVERSION_AUTO": "auto"}[frontendData["inversion"]] + defaultCab["fec"] = {"FEC_AUTO": "auto", "FEC_1_2": "1_2", "FEC_2_3": "2_3", "FEC_3_4": "3_4", "FEC_5_6": "5_6", "FEC_7_8": "7_8", "FEC_8_9": "8_9", "FEC_NONE": "none"}[frontendData["fec_inner"]] + defaultCab["modulation"] = {"QAM_AUTO": "auto", "QAM_16": "16qam", "QAM_32": "32qam", "QAM_64": "64qam", "QAM_128": "128qam", "QAM_256": "256qam"}[frontendData["modulation"]] self.scan_sat = ConfigSubsection() self.scan_cab = ConfigSubsection() @@ -387,7 +396,7 @@ class ScanSetup(ConfigListScreen, Screen): for slot in nimmanager.nimslots: if (nimmanager.getNimType(slot.slotid) == nimmanager.nimType["DVB-S"]): print str(slot.slotid) + " : " + str(self.satList) - self.scan_satselection.append(ConfigSatlist(default = defaultSat["orbpos"], list = self.satList[slot.slotid])) + self.scan_satselection.append(getConfigSatlist(int(defaultSat["orbpos"]), self.satList[slot.slotid])) else: self.scan_satselection.append(None) @@ -580,6 +589,8 @@ class ScanSimple(ConfigListScreen, Screen): nim.nim_index = 0 if nimtype == nimmanager.nimType["DVB-S"] and not len(nimmanager.getSatListForNim(0)): scan_possible=False + if nimtype == nimmanager.nimType["empty/unknown"]: + scan_possible = False if scan_possible: self.list.append(getConfigListEntry(_("Scan NIM") + " 0 (" + nimmanager.getNimTypeName(0) + ")", nim)) @@ -613,6 +624,7 @@ class ScanSimple(ConfigListScreen, Screen): print "Scan Tuner", slotid, "-", c.value if c.value: scanPossible = False + trustNit = False tlist = [ ] if nimmanager.getNimType(slotid) == nimmanager.nimType["DVB-S"]: print "is sat" @@ -632,6 +644,8 @@ class ScanSimple(ConfigListScreen, Screen): elif nimmanager.getNimType(slotid) == nimmanager.nimType["DVB-C"]: scanPossible = True getInitialCableTransponderList(tlist, nimmanager.getCableDescription(slotid)) + if nimmanager.getCableTrustNit(slotid): + trustNit = True elif nimmanager.getNimType(slotid) == nimmanager.nimType["DVB-T"]: scanPossible = True getInitialTerrestrialTransponderList(tlist, nimmanager.getTerrestrialDescription(slotid)) @@ -640,6 +654,8 @@ class ScanSimple(ConfigListScreen, Screen): if scanPossible: flags=eComponentScan.scanNetworkSearch + if trustNit: + flags |= eComponentScan.clearToScanOnFirstNIT tmp = self.scan_clearallservices.value if tmp == "yes": flags |= eComponentScan.scanRemoveServices @@ -665,6 +681,8 @@ class ScanSimple(ConfigListScreen, Screen): return 0 def ScanNimTwoNeeded(self): + if nimmanager.getNimType(1) == nimmanager.nimType["empty/unknown"]: + return False if nimmanager.getNimType(0) != nimmanager.getNimType(1): return True if nimmanager.getNimType(0) == nimmanager.nimType["DVB-S"]: #two dvb-s nims