-class ScanSetup(Screen):
- def __init__(self, session):
- Screen.__init__(self, session)
-
- self.updateSatList()
- self.createConfig()
-
-
- self["actions"] = NumberActionMap(["SetupActions"],
- {
- "ok": self.keyGo,
- "cancel": self.keyCancel,
- "left": self.keyLeft,
- "right": self.keyRight,
- "1": self.keyNumberGlobal,
- "2": self.keyNumberGlobal,
- "3": self.keyNumberGlobal,
- "4": self.keyNumberGlobal,
- "5": self.keyNumberGlobal,
- "6": self.keyNumberGlobal,
- "7": self.keyNumberGlobal,
- "8": self.keyNumberGlobal,
- "9": self.keyNumberGlobal,
- "0": self.keyNumberGlobal
- }, -1)
-
- self.list = []
- self["config"] = ConfigList(self.list)
- self.createSetup()
-
- self["introduction"] = Label("Press OK to start the scan")
-
- def updateSatList(self):
- self.satList = []
- for slot in nimmanager.nimslots:
- self.satList.append(nimmanager.getSatListForNim(slot.slotid))
-
- def createSetup(self):
- self.list = []
-
- self.list.append(getConfigListEntry("Type of scan", config.scan.type))
- self.list.append(getConfigListEntry("Tuner", config.scan.nims))
-
- # single transponder scan
- if (config.scan.type.value == 0):
- if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-S"]):
- self.list.append(getConfigListEntry("Satellite", config.scan.satselection[config.scan.nims.value]))
- self.list.append(getConfigListEntry("Frequency", config.scan.sat.frequency))
- self.list.append(getConfigListEntry("Inversion", config.scan.sat.inversion))
- self.list.append(getConfigListEntry("Symbolrate", config.scan.sat.symbolrate))
- self.list.append(getConfigListEntry("Polarity", config.scan.sat.polarization))
- self.list.append(getConfigListEntry("FEC", config.scan.sat.fec))
- if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-C"]):
- self.list.append(getConfigListEntry("Frequency", config.scan.cab.frequency))
- self.list.append(getConfigListEntry("Inversion", config.scan.cab.inversion))
- self.list.append(getConfigListEntry("Symbolrate", config.scan.cab.symbolrate))
- self.list.append(getConfigListEntry("Modulation", config.scan.cab.modulation))
- self.list.append(getConfigListEntry("FEC", config.scan.cab.fec))
- if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-T"]):
- self.list.append(getConfigListEntry("Frequency", config.scan.ter.frequency))
- self.list.append(getConfigListEntry("Inversion", config.scan.ter.inversion))
- self.list.append(getConfigListEntry("Bandwidth", config.scan.ter.bandwidth))
- self.list.append(getConfigListEntry("Code rate high", config.scan.ter.fechigh))
- self.list.append(getConfigListEntry("Code rate low", config.scan.ter.feclow))
- self.list.append(getConfigListEntry("Modulation", config.scan.ter.modulation))
- self.list.append(getConfigListEntry("Transmission mode", config.scan.ter.transmission))
- self.list.append(getConfigListEntry("Guard interval mode", config.scan.ter.guard))
- self.list.append(getConfigListEntry("Hierarchy mode", config.scan.ter.hierarchy))
-
- # single satellite scan
- print config.scan.satselection
- if (config.scan.type.value == 1):
- self.updateSatList()
- print config.scan.satselection[config.scan.nims.value]
- self.list.append(getConfigListEntry("Satellite", config.scan.satselection[config.scan.nims.value]))
-
-
- # multi sat scan
- if (config.scan.type.value == 2):
- # if (norotor)
- tlist = []
- SatList = nimmanager.getSatListForNim(config.scan.nims.value)
-
- for x in SatList:
- if self.Satexists(tlist, x[1]) == 0:
- tlist.append(x[1])
- sat = configElement_nonSave(x[1], configSelection, 0, ("Enable", "Disable"))
- self.list.append(getConfigListEntry(nimmanager.getSatDescription(x[1]), sat))
-
- # if (rotor):
- # for sat in nimmanager.satList:
- # self.list.append(getConfigListEntry(sat[0], config.scan.scansat[sat[1]]))
-
- self["config"].list = self.list
- self["config"].l.setList(self.list)
-
- def Satexists(self, tlist, pos):
- for x in tlist:
- if x == pos:
- return 1
- return 0
-
- def newConfig(self):
- print self["config"].getCurrent()
- if self["config"].getCurrent()[0] == "Type of scan":
- self.createSetup()
- if self["config"].getCurrent()[0] == "Tuner":
- self.createSetup()
-
- def createConfig(self):
- config.scan = ConfigSubsection()
- config.scan.sat = ConfigSubsection()
- config.scan.cab = ConfigSubsection()
- config.scan.ter = ConfigSubsection()
-
- config.scan.type = configElement_nonSave("config.scan.type", configSelection, 0, ("Single transponder", "Single satellite", "Multisat"))
- nimList = [ ]
- for nim in nimmanager.nimList():
- nimList.append(nim[0])
- nimList.append("all")
- config.scan.nims = configElement_nonSave("config.scan.nims", configSelection, 0, nimList)
-
- # sat
- config.scan.sat.frequency = configElement_nonSave("config.scan.sat.frequency", configSequence, [11836], configsequencearg.get("INTEGER", (10000, 14000)))
- config.scan.sat.inversion = configElement_nonSave("config.scan.sat.inversion", configSelection, 2, ("on", "off", "auto"))
- config.scan.sat.symbolrate = configElement_nonSave("config.scan.sat.symbolrate", configSequence, [27500], configsequencearg.get("INTEGER", (1, 30000)))
- config.scan.sat.polarization = configElement_nonSave("config.scan.sat.polarization", configSelection, 0, ("horizontal", "vertical", "circular left", "circular right"))
- config.scan.sat.fec = configElement_nonSave("config.scan.sat.fec", configSelection, 7, ("None", "1/2", "2/3", "3/4", "5/6", "7/8", "auto"))
-
-
- # cable
- config.scan.cab.frequency = configElement_nonSave("config.scan.cab.frequency", configSequence, [466], configsequencearg.get("INTEGER", (10000, 14000)))
- config.scan.cab.inversion = configElement_nonSave("config.scan.cab.inversion", configSelection, 0, ("auto", "off", "on"))
- config.scan.cab.modulation = configElement_nonSave("config.scan.cab.modulation", configSelection, 0, ("Auto", "16-QAM", "32-QAM", "64-QAM", "128-QAM", "256-QAM"))
- config.scan.cab.fec = configElement_nonSave("config.scan.cab.fec", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
- config.scan.cab.symbolrate = configElement_nonSave("config.scan.cab.symbolrate", configSequence, [6900], configsequencearg.get("INTEGER", (1, 30000)))
-
- # terrestial
- config.scan.ter.frequency = configElement_nonSave("config.scan.ter.frequency", configSequence, [466], configsequencearg.get("INTEGER", (10000, 14000)))
- config.scan.ter.inversion = configElement_nonSave("config.scan.ter.inversion", configSelection, 0, ("auto", "off", "on"))
- config.scan.ter.bandwidth = configElement_nonSave("config.scan.ter.bandwidth", configSelection, 0, ("Auto", "6 MHz", "7MHz", "8MHz"))
- config.scan.ter.fechigh = configElement_nonSave("config.scan.ter.fechigh", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
- config.scan.ter.feclow = configElement_nonSave("config.scan.ter.feclow", configSelection, 0, ("Auto", "1/2", "2/3", "3/4", "4/5", "5/6", "7/8", "8/9"))
- config.scan.ter.modulation = configElement_nonSave("config.scan.ter.modulation", configSelection, 0, ("Auto", "16-QAM", "32-QAM", "64-QAM", "128-QAM", "256-QAM"))
- config.scan.ter.transmission = configElement_nonSave("config.scan.ter.transmission", configSelection, 0, ("Auto", "2K", "8K"))
- config.scan.ter.guard = configElement_nonSave("config.scan.ter.guard", configSelection, 0, ("Auto", "1/4", "1/8", "1/16", "1/32"))
- config.scan.ter.hierarchy = configElement_nonSave("config.scan.ter.hierarchy", configSelection, 0, ("Auto", "1", "2", "4"))
-
- config.scan.scansat = {}
- for sat in nimmanager.satList:
- #print sat[1]
- config.scan.scansat[sat[1]] = configElement_nonSave("config.scan.scansat[" + str(sat[1]) + "]", configSelection, 0, ("yes", "no"))
-
- config.scan.satselection = []
- slotid = 0
- for slot in nimmanager.nimslots:
- config.scan.satselection.append(configElement_nonSave("config.scan.satselection[" + str(slot.slotid) + "]", configSatlist, 0, self.satList[slot.slotid]))
-
- def keyLeft(self):
- self["config"].handleKey(config.key["prevElement"])
- self.newConfig()
-
- def keyRight(self):
- self["config"].handleKey(config.key["nextElement"])
- self.newConfig()
-
- def keyNumberGlobal(self, number):
- print "You pressed number " + str(number)
- if (self["config"].getCurrent()[1].parent.enabled == True):
- self["config"].handleKey(config.key[str(number)])
-
- def addSatTransponder(self, tlist, frequency, symbol_rate, polarisation, fec, inversion, orbital_position):
- print "Add Sat: frequ: " + str(frequency) + " symbol: " + str(symbol_rate) + " pol: " + str(polarisation) + " fec: " + str(fec) + " inversion: " + str(inversion)
+ self.createConfig(frontendData)
+
+ del self.feinfo
+ del self.service
+
+ self["actions"] = NumberActionMap(["SetupActions"],
+ {
+ "ok": self.keyGo,
+ "cancel": self.keyCancel,
+ }, -2)
+
+ self.statusTimer = eTimer()
+ self.statusTimer.callback.append(self.updateStatus)
+ #self.statusTimer.start(5000, True)
+
+ self.list = []
+ ConfigListScreen.__init__(self, self.list)
+ self.createSetup()
+
+ self["introduction"] = Label(_("Press OK to start the scan"))
+
+ def runAsync(self, finished_cb):
+ self.finished_cb = finished_cb
+ self.keyGo()
+
+ def updateSatList(self):
+ self.satList = []
+ for slot in nimmanager.nim_slots:
+ if slot.isCompatible("DVB-S"):
+ self.satList.append(nimmanager.getSatListForNim(slot.slot))
+ else:
+ self.satList.append(None)
+
+ def createSetup(self):
+ self.list = []
+ self.multiscanlist = []
+ index_to_scan = int(self.scan_nims.value)
+ print "ID: ", index_to_scan
+
+ self.tunerEntry = getConfigListEntry(_("Tuner"), self.scan_nims)
+ self.list.append(self.tunerEntry)
+
+ if self.scan_nims == [ ]:
+ return
+
+ self.typeOfScanEntry = None
+ self.systemEntry = None
+ self.modulationEntry = None
+ nim = nimmanager.nim_slots[index_to_scan]
+ if nim.isCompatible("DVB-S"):
+ self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_type)
+ self.list.append(self.typeOfScanEntry)
+ elif nim.isCompatible("DVB-C"):
+ self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typecable)
+ self.list.append(self.typeOfScanEntry)
+ elif nim.isCompatible("DVB-T"):
+ self.typeOfScanEntry = getConfigListEntry(_("Type of scan"), self.scan_typeterrestrial)
+ self.list.append(self.typeOfScanEntry)
+
+ self.scan_networkScan.value = False
+ if nim.isCompatible("DVB-S"):
+ if self.scan_type.value == "single_transponder":
+ self.updateSatList()
+ if nim.isCompatible("DVB-S2"):
+ self.systemEntry = getConfigListEntry(_('System'), self.scan_sat.system)
+ self.list.append(self.systemEntry)
+ else:
+ # downgrade to dvb-s, in case a -s2 config was active
+ self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
+ self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan]))
+ self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
+ self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
+ self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
+ self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
+ if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
+ self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
+ elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
+ self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
+ self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
+ self.list.append(self.modulationEntry)
+ self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff))
+ self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot))
+ elif self.scan_type.value == "single_satellite":
+ self.updateSatList()
+ print self.scan_satselection[index_to_scan]
+ self.list.append(getConfigListEntry(_("Satellite"), self.scan_satselection[index_to_scan]))
+ self.scan_networkScan.value = True
+ elif self.scan_type.value.find("multisat") != -1:
+ tlist = []
+ SatList = nimmanager.getSatListForNim(index_to_scan)
+ for x in SatList:
+ if self.Satexists(tlist, x[0]) == 0:
+ tlist.append(x[0])
+ sat = ConfigEnableDisable(default = self.scan_type.value.find("_yes") != -1 and True or False)
+ configEntry = getConfigListEntry(nimmanager.getSatDescription(x[0]), sat)
+ self.list.append(configEntry)
+ self.multiscanlist.append((x[0], sat))
+ self.scan_networkScan.value = True
+ elif nim.isCompatible("DVB-C"):
+ if self.scan_typecable.value == "single_transponder":
+ self.list.append(getConfigListEntry(_("Frequency"), self.scan_cab.frequency))
+ self.list.append(getConfigListEntry(_("Inversion"), self.scan_cab.inversion))
+ self.list.append(getConfigListEntry(_("Symbol Rate"), self.scan_cab.symbolrate))
+ self.list.append(getConfigListEntry(_("Modulation"), self.scan_cab.modulation))
+ self.list.append(getConfigListEntry(_("FEC"), self.scan_cab.fec))
+ elif nim.isCompatible("DVB-T"):
+ if self.scan_typeterrestrial.value == "single_transponder":
+ self.list.append(getConfigListEntry(_("Frequency"), self.scan_ter.frequency))
+ self.list.append(getConfigListEntry(_("Inversion"), self.scan_ter.inversion))
+ self.list.append(getConfigListEntry(_("Bandwidth"), self.scan_ter.bandwidth))
+ self.list.append(getConfigListEntry(_("Code rate high"), self.scan_ter.fechigh))
+ self.list.append(getConfigListEntry(_("Code rate low"), self.scan_ter.feclow))
+ self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation))
+ self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission))
+ self.list.append(getConfigListEntry(_("Guard interval mode"), self.scan_ter.guard))
+ self.list.append(getConfigListEntry(_("Hierarchy mode"), self.scan_ter.hierarchy))
+ self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan))
+ self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices))
+ self.list.append(getConfigListEntry(_("Only Free scan"), self.scan_onlyfree))
+ self["config"].list = self.list
+ self["config"].l.setList(self.list)
+
+ def Satexists(self, tlist, pos):
+ for x in tlist:
+ if x == pos:
+ return 1
+ return 0
+
+ def newConfig(self):
+ cur = self["config"].getCurrent()
+ print "cur is", cur
+ if cur == self.typeOfScanEntry or \
+ cur == self.tunerEntry or \
+ cur == self.systemEntry or \
+ (self.modulationEntry and self.systemEntry[1].value == eDVBFrontendParametersSatellite.System_DVB_S2 and cur == self.modulationEntry):
+ self.createSetup()
+
+ def createConfig(self, frontendData):
+ #("Type", frontendData["system"], TYPE_TEXT),
+ #("Modulation", frontendData["modulation"], TYPE_TEXT),
+ #("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
+ #("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+ #("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
+ #("Polarization", frontendData["polarization"], TYPE_TEXT),
+ #("Inversion", frontendData["inversion"], TYPE_TEXT),
+ #("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
+ #)
+ #elif frontendData["tuner_type"] == "DVB-C":
+ #return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ #("Type", frontendData["tuner_type"], TYPE_TEXT),
+ #("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+ #("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
+ #("Modulation", frontendData["modulation"], TYPE_TEXT),
+ #("Inversion", frontendData["inversion"], TYPE_TEXT),
+ # ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
+ #)
+ #elif frontendData["tuner_type"] == "DVB-T":
+ #return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ #("Type", frontendData["tuner_type"], TYPE_TEXT),
+ #("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
+ #("Inversion", frontendData["inversion"], TYPE_TEXT),
+ #("Bandwidth", frontendData["bandwidth"], TYPE_VALUE_DEC),
+ #("CodeRateLP", frontendData["code_rate_lp"], TYPE_TEXT),
+ #("CodeRateHP", frontendData["code_rate_hp"], TYPE_TEXT),
+ #("Constellation", frontendData["constellation"], TYPE_TEXT),
+ #("Transmission Mode", frontendData["transmission_mode"], TYPE_TEXT),
+ #("Guard Interval", frontendData["guard_interval"], TYPE_TEXT),
+ #("Hierarchy Inform.", frontendData["hierarchy_information"], TYPE_TEXT),
+ defaultSat = {
+ "orbpos": 192,
+ "system": eDVBFrontendParametersSatellite.System_DVB_S,
+ "frequency": 11836,
+ "inversion": eDVBFrontendParametersSatellite.Inversion_Unknown,
+ "symbolrate": 27500,
+ "polarization": eDVBFrontendParametersSatellite.Polarisation_Horizontal,
+ "fec": eDVBFrontendParametersSatellite.FEC_Auto,
+ "fec_s2": eDVBFrontendParametersSatellite.FEC_9_10,
+ "modulation": eDVBFrontendParametersSatellite.Modulation_QPSK }
+ defaultCab = {
+ "frequency": 466,
+ "inversion": eDVBFrontendParametersCable.Inversion_Unknown,
+ "modulation": eDVBFrontendParametersCable.Modulation_QAM64,
+ "fec": eDVBFrontendParametersCable.FEC_Auto,
+ "symbolrate": 6900 }
+ defaultTer = {
+ "frequency" : 466000,
+ "inversion" : eDVBFrontendParametersTerrestrial.Inversion_Unknown,
+ "bandwidth" : eDVBFrontendParametersTerrestrial.Bandwidth_7MHz,
+ "fechigh" : eDVBFrontendParametersTerrestrial.FEC_Auto,
+ "feclow" : eDVBFrontendParametersTerrestrial.FEC_Auto,
+ "modulation" : eDVBFrontendParametersTerrestrial.Modulation_Auto,
+ "transmission_mode" : eDVBFrontendParametersTerrestrial.TransmissionMode_Auto,
+ "guard_interval" : eDVBFrontendParametersTerrestrial.GuardInterval_Auto,
+ "hierarchy": eDVBFrontendParametersTerrestrial.Hierarchy_Auto }
+
+ if frontendData is not None:
+ ttype = frontendData.get("tuner_type", "UNKNOWN")
+ if ttype == "DVB-S":
+ defaultSat["system"] = frontendData.get("system", eDVBFrontendParametersSatellite.System_DVB_S)
+ defaultSat["frequency"] = frontendData.get("frequency", 0) / 1000
+ defaultSat["inversion"] = frontendData.get("inversion", eDVBFrontendParametersSatellite.Inversion_Unknown)
+ defaultSat["symbolrate"] = frontendData.get("symbol_rate", 0) / 1000
+ defaultSat["polarization"] = frontendData.get("polarization", eDVBFrontendParametersSatellite.Polarisation_Horizontal)
+ if defaultSat["system"] == eDVBFrontendParametersSatellite.System_DVB_S2:
+ defaultSat["fec_s2"] = frontendData.get("fec_inner", eDVBFrontendParametersSatellite.FEC_Auto)
+ defaultSat["rolloff"] = frontendData.get("rolloff", eDVBFrontendParametersSatellite.RollOff_alpha_0_35)
+ defaultSat["pilot"] = frontendData.get("pilot", eDVBFrontendParametersSatellite.Pilot_Unknown)
+ else:
+ defaultSat["fec"] = frontendData.get("fec_inner", eDVBFrontendParametersSatellite.FEC_Auto)
+ defaultSat["modulation"] = frontendData.get("modulation", eDVBFrontendParametersSatellite.Modulation_QPSK)
+ defaultSat["orbpos"] = frontendData.get("orbital_position", 0)
+ elif ttype == "DVB-C":
+ defaultCab["frequency"] = frontendData.get("frequency", 0) / 1000
+ defaultCab["symbolrate"] = frontendData.get("symbol_rate", 0) / 1000
+ defaultCab["inversion"] = frontendData.get("inversion", eDVBFrontendParametersCable.Inversion_Unknown)
+ defaultCab["fec"] = frontendData.get("fec_inner", eDVBFrontendParametersCable.FEC_Auto)
+ defaultCab["modulation"] = frontendData.get("modulation", eDVBFrontendParametersCable.Modulation_QAM16)
+ elif ttype == "DVB-T":
+ defaultTer["frequency"] = frontendData.get("frequency", 0)
+ defaultTer["inversion"] = frontendData.get("inversion", eDVBFrontendParametersTerrestrial.Inversion_Unknown)
+ defaultTer["bandwidth"] = frontendData.get("bandwidth", eDVBFrontendParametersTerrestrial.Bandwidth_7MHz)
+ defaultTer["fechigh"] = frontendData.get("code_rate_hp", eDVBFrontendParametersTerrestrial.FEC_Auto)
+ defaultTer["feclow"] = frontendData.get("code_rate_lp", eDVBFrontendParametersTerrestrial.FEC_Auto)
+ defaultTer["modulation"] = frontendData.get("constellation", eDVBFrontendParametersTerrestrial.Modulation_Auto)
+ defaultTer["transmission_mode"] = frontendData.get("transmission_mode", eDVBFrontendParametersTerrestrial.TransmissionMode_Auto)
+ defaultTer["guard_interval"] = frontendData.get("guard_interval", eDVBFrontendParametersTerrestrial.GuardInterval_Auto)
+ defaultTer["hierarchy"] = frontendData.get("hierarchy_information", eDVBFrontendParametersTerrestrial.Hierarchy_Auto)
+
+ self.scan_sat = ConfigSubsection()
+ self.scan_cab = ConfigSubsection()
+ self.scan_ter = ConfigSubsection()
+
+ self.scan_type = ConfigSelection(default = "single_transponder", choices = [("single_transponder", _("Single transponder")), ("single_satellite", _("Single satellite")), ("multisat", _("Multisat")), ("multisat_yes", _("Multisat"))])
+ self.scan_typecable = ConfigSelection(default = "single_transponder", choices = [("single_transponder", _("Single transponder")), ("complete", _("Complete"))])
+ self.scan_typeterrestrial = ConfigSelection(default = "single_transponder", choices = [("single_transponder", _("Single transponder")), ("complete", _("Complete"))])
+ self.scan_clearallservices = ConfigSelection(default = "no", choices = [("no", _("no")), ("yes", _("yes")), ("yes_hold_feeds", _("yes (keep feeds)"))])
+ self.scan_onlyfree = ConfigYesNo(default = False)
+ self.scan_networkScan = ConfigYesNo(default = False)
+
+ nim_list = []
+ # collect all nims which are *not* set to "nothing"
+ for n in nimmanager.nim_slots:
+ if n.config_mode == "nothing":
+ continue
+ if n.config_mode in ("loopthrough", "satposdepends"):
+ root_id = nimmanager.sec.getRoot(n.slot_id, int(n.config.connectedTo.value))
+ if n.type == nimmanager.nim_slots[root_id].type: # check if connected from a DVB-S to DVB-S2 Nim or vice versa
+ continue
+ nim_list.append((str(n.slot), n.friendly_full_description))
+
+ self.scan_nims = ConfigSelection(choices = nim_list)
+
+ # status
+ self.scan_snr = ConfigSlider()
+ self.scan_snr.enabled = False
+ self.scan_agc = ConfigSlider()
+ self.scan_agc.enabled = False
+ self.scan_ber = ConfigSlider()
+ self.scan_ber.enabled = False
+
+ # sat
+ self.scan_sat.system = ConfigSelection(default = defaultSat["system"], choices = [
+ (eDVBFrontendParametersSatellite.System_DVB_S, _("DVB-S")),
+ (eDVBFrontendParametersSatellite.System_DVB_S2, _("DVB-S2"))])
+ self.scan_sat.frequency = ConfigInteger(default = defaultSat["frequency"], limits = (1, 99999))
+ self.scan_sat.inversion = ConfigSelection(default = defaultSat["inversion"], choices = [
+ (eDVBFrontendParametersSatellite.Inversion_Off, _("off")),
+ (eDVBFrontendParametersSatellite.Inversion_On, _("on")),
+ (eDVBFrontendParametersSatellite.Inversion_Unknown, _("Auto"))])
+ self.scan_sat.symbolrate = ConfigInteger(default = defaultSat["symbolrate"], limits = (1, 99999))
+ self.scan_sat.polarization = ConfigSelection(default = defaultSat["polarization"], choices = [
+ (eDVBFrontendParametersSatellite.Polarisation_Horizontal, _("horizontal")),
+ (eDVBFrontendParametersSatellite.Polarisation_Vertical, _("vertical")),
+ (eDVBFrontendParametersSatellite.Polarisation_CircularLeft, _("circular left")),
+ (eDVBFrontendParametersSatellite.Polarisation_CircularRight, _("circular right"))])
+ self.scan_sat.fec = ConfigSelection(default = defaultSat["fec"], choices = [
+ (eDVBFrontendParametersSatellite.FEC_Auto, _("Auto")),
+ (eDVBFrontendParametersSatellite.FEC_1_2, "1/2"),
+ (eDVBFrontendParametersSatellite.FEC_2_3, "2/3"),
+ (eDVBFrontendParametersSatellite.FEC_3_4, "3/4"),
+ (eDVBFrontendParametersSatellite.FEC_5_6, "5/6"),
+ (eDVBFrontendParametersSatellite.FEC_7_8, "7/8"),
+ (eDVBFrontendParametersSatellite.FEC_None, _("None"))])
+ self.scan_sat.fec_s2 = ConfigSelection(default = defaultSat["fec_s2"], choices = [
+ (eDVBFrontendParametersSatellite.FEC_1_2, "1/2"),
+ (eDVBFrontendParametersSatellite.FEC_2_3, "2/3"),
+ (eDVBFrontendParametersSatellite.FEC_3_4, "3/4"),
+ (eDVBFrontendParametersSatellite.FEC_3_5, "3/5"),
+ (eDVBFrontendParametersSatellite.FEC_4_5, "4/5"),
+ (eDVBFrontendParametersSatellite.FEC_5_6, "5/6"),
+ (eDVBFrontendParametersSatellite.FEC_7_8, "7/8"),
+ (eDVBFrontendParametersSatellite.FEC_8_9, "8/9"),
+ (eDVBFrontendParametersSatellite.FEC_9_10, "9/10")])
+ self.scan_sat.modulation = ConfigSelection(default = defaultSat["modulation"], choices = [
+ (eDVBFrontendParametersSatellite.Modulation_QPSK, "QPSK"),
+ (eDVBFrontendParametersSatellite.Modulation_8PSK, "8PSK")])
+ self.scan_sat.rolloff = ConfigSelection(default = defaultSat.get("rolloff", eDVBFrontendParametersSatellite.RollOff_alpha_0_35), choices = [
+ (eDVBFrontendParametersSatellite.RollOff_alpha_0_35, "0.35"),
+ (eDVBFrontendParametersSatellite.RollOff_alpha_0_25, "0.25"),
+ (eDVBFrontendParametersSatellite.RollOff_alpha_0_20, "0.20")])
+ self.scan_sat.pilot = ConfigSelection(default = defaultSat.get("pilot", eDVBFrontendParametersSatellite.Pilot_Unknown), choices = [
+ (eDVBFrontendParametersSatellite.Pilot_Off, _("off")),
+ (eDVBFrontendParametersSatellite.Pilot_On, _("on")),
+ (eDVBFrontendParametersSatellite.Pilot_Unknown, _("Auto"))])
+
+ # cable
+ self.scan_cab.frequency = ConfigInteger(default = defaultCab["frequency"], limits = (50, 999))
+ self.scan_cab.inversion = ConfigSelection(default = defaultCab["inversion"], choices = [
+ (eDVBFrontendParametersCable.Inversion_Off, _("off")),
+ (eDVBFrontendParametersCable.Inversion_On, _("on")),
+ (eDVBFrontendParametersCable.Inversion_Unknown, _("Auto"))])
+ self.scan_cab.modulation = ConfigSelection(default = defaultCab["modulation"], choices = [
+ (eDVBFrontendParametersCable.Modulation_QAM16, "16-QAM"),
+ (eDVBFrontendParametersCable.Modulation_QAM32, "32-QAM"),
+ (eDVBFrontendParametersCable.Modulation_QAM64, "64-QAM"),
+ (eDVBFrontendParametersCable.Modulation_QAM128, "128-QAM"),
+ (eDVBFrontendParametersCable.Modulation_QAM256, "256-QAM")])
+ self.scan_cab.fec = ConfigSelection(default = defaultCab["fec"], choices = [
+ (eDVBFrontendParametersCable.FEC_Auto, _("Auto")),
+ (eDVBFrontendParametersCable.FEC_1_2, "1/2"),
+ (eDVBFrontendParametersCable.FEC_2_3, "2/3"),
+ (eDVBFrontendParametersCable.FEC_3_4, "3/4"),
+ (eDVBFrontendParametersCable.FEC_5_6, "5/6"),
+ (eDVBFrontendParametersCable.FEC_7_8, "7/8"),
+ (eDVBFrontendParametersCable.FEC_8_9, "8/9"),
+ (eDVBFrontendParametersCable.FEC_None, _("None"))])
+ self.scan_cab.symbolrate = ConfigInteger(default = defaultCab["symbolrate"], limits = (1, 99999))
+
+ # terrestial
+ self.scan_ter.frequency = ConfigInteger(default = 466000, limits = (50000, 999000))
+ self.scan_ter.inversion = ConfigSelection(default = defaultTer["inversion"], choices = [
+ (eDVBFrontendParametersTerrestrial.Inversion_Off, _("off")),
+ (eDVBFrontendParametersTerrestrial.Inversion_On, _("on")),
+ (eDVBFrontendParametersTerrestrial.Inversion_Unknown, _("Auto"))])
+ # WORKAROUND: we can't use BW-auto
+ self.scan_ter.bandwidth = ConfigSelection(default = defaultTer["bandwidth"], choices = [
+ (eDVBFrontendParametersTerrestrial.Bandwidth_8MHz, "8MHz"),
+ (eDVBFrontendParametersTerrestrial.Bandwidth_7MHz, "7MHz"),
+ (eDVBFrontendParametersTerrestrial.Bandwidth_6MHz, "6MHz")])
+ #, (eDVBFrontendParametersTerrestrial.Bandwidth_Auto, _("Auto"))))
+ self.scan_ter.fechigh = ConfigSelection(default = defaultTer["fechigh"], choices = [
+ (eDVBFrontendParametersTerrestrial.FEC_1_2, "1/2"),
+ (eDVBFrontendParametersTerrestrial.FEC_2_3, "2/3"),
+ (eDVBFrontendParametersTerrestrial.FEC_3_4, "3/4"),
+ (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"),
+ (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"),
+ (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))])
+ self.scan_ter.feclow = ConfigSelection(default = defaultTer["feclow"], choices = [
+ (eDVBFrontendParametersTerrestrial.FEC_1_2, "1/2"),
+ (eDVBFrontendParametersTerrestrial.FEC_2_3, "2/3"),
+ (eDVBFrontendParametersTerrestrial.FEC_3_4, "3/4"),
+ (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"),
+ (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"),
+ (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))])
+ self.scan_ter.modulation = ConfigSelection(default = defaultTer["modulation"], choices = [
+ (eDVBFrontendParametersTerrestrial.Modulation_QPSK, "QPSK"),
+ (eDVBFrontendParametersTerrestrial.Modulation_QAM16, "QAM16"),
+ (eDVBFrontendParametersTerrestrial.Modulation_QAM64, "QAM64"),
+ (eDVBFrontendParametersTerrestrial.Modulation_Auto, _("Auto"))])
+ self.scan_ter.transmission = ConfigSelection(default = defaultTer["transmission_mode"], choices = [
+ (eDVBFrontendParametersTerrestrial.TransmissionMode_2k, "2K"),
+ (eDVBFrontendParametersTerrestrial.TransmissionMode_8k, "8K"),
+ (eDVBFrontendParametersTerrestrial.TransmissionMode_Auto, _("Auto"))])
+ self.scan_ter.guard = ConfigSelection(default = defaultTer["guard_interval"], choices = [
+ (eDVBFrontendParametersTerrestrial.GuardInterval_1_32, "1/32"),
+ (eDVBFrontendParametersTerrestrial.GuardInterval_1_16, "1/16"),
+ (eDVBFrontendParametersTerrestrial.GuardInterval_1_8, "1/8"),
+ (eDVBFrontendParametersTerrestrial.GuardInterval_1_4, "1/4"),
+ (eDVBFrontendParametersTerrestrial.GuardInterval_Auto, _("Auto"))])
+ self.scan_ter.hierarchy = ConfigSelection(default = defaultTer["hierarchy"], choices = [
+ (eDVBFrontendParametersTerrestrial.Hierarchy_None, _("None")),
+ (eDVBFrontendParametersTerrestrial.Hierarchy_1, "1"),
+ (eDVBFrontendParametersTerrestrial.Hierarchy_2, "2"),
+ (eDVBFrontendParametersTerrestrial.Hierarchy_4, "4"),
+ (eDVBFrontendParametersTerrestrial.Hierarchy_Auto, _("Auto"))])
+
+ self.scan_scansat = {}
+ for sat in nimmanager.satList:
+ #print sat[1]
+ self.scan_scansat[sat[0]] = ConfigYesNo(default = False)
+
+ self.scan_satselection = []
+ for slot in nimmanager.nim_slots:
+ if slot.isCompatible("DVB-S"):
+ self.scan_satselection.append(getConfigSatlist(defaultSat["orbpos"], self.satList[slot.slot]))
+ else:
+ self.scan_satselection.append(None)
+
+ return True
+
+ def keyLeft(self):
+ ConfigListScreen.keyLeft(self)
+ self.newConfig()
+
+ def keyRight(self):
+ ConfigListScreen.keyRight(self)
+ self.newConfig()
+
+ def updateStatus(self):
+ print "updatestatus"
+
+ def addSatTransponder(self, tlist, frequency, symbol_rate, polarisation, fec, inversion, orbital_position, system, modulation, rolloff, pilot):
+ print "Add Sat: frequ: " + str(frequency) + " symbol: " + str(symbol_rate) + " pol: " + str(polarisation) + " fec: " + str(fec) + " inversion: " + str(inversion) + " modulation: " + str(modulation) + " system: " + str(system) + " rolloff" + str(rolloff) + " pilot" + str(pilot)