+ def createConfig(self):
+ self.feinfo = None
+ frontendData = None
+ 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
+ }
+
+ self.service = self.session.nav.getCurrentService()
+ if self.service is not None:
+ self.feinfo = self.service.frontendInfo()
+ frontendData = self.feinfo and self.feinfo.getAll(True)
+ 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)
+ del self.feinfo
+ del self.service
+ del frontendData
+
+ self.scan_sat = ConfigSubsection()
+ self.scan_networkScan = ConfigYesNo(default = False)
+
+ # blindscan add
+ self.blindscan_hi = ConfigSelection(default = "hi_low", choices = [("low", _("low")), ("high", _("high")), ("hi_low", _("hi_low"))])
+
+ #ConfigYesNo(default = True)
+ self.blindscan_start_frequency = ConfigInteger(default = 950*1000000)
+ self.blindscan_stop_frequency = ConfigInteger(default = 2150*1000000)
+ self.blindscan_start_symbol = ConfigInteger(default = 2*1000000)
+ self.blindscan_stop_symbol = ConfigInteger(default = 45*1000000)
+
+ # collect all nims which are *not* set to "nothing"
+ nim_list = []
+ for n in nimmanager.nim_slots:
+ if n.config_mode == "nothing":
+ continue
+ if n.config_mode == "advanced" and len(nimmanager.getSatListForNim(n.slot)) < 1:
+ 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)
+
+ # sat
+ self.scan_sat.frequency = ConfigInteger(default = defaultSat["frequency"], limits = (1, 99999))
+ #self.scan_sat.polarization = ConfigSelection(default = defaultSat["polarization"], choices = [
+ self.scan_sat.polarization = ConfigSelection(default = eDVBFrontendParametersSatellite.Polarisation_CircularRight + 1, choices = [
+ (eDVBFrontendParametersSatellite.Polarisation_CircularRight + 1, _("horizontal_vertical")),
+ (eDVBFrontendParametersSatellite.Polarisation_Horizontal, _("horizontal")),
+ (eDVBFrontendParametersSatellite.Polarisation_Vertical, _("vertical")),
+ (eDVBFrontendParametersSatellite.Polarisation_CircularLeft, _("circular left")),
+ (eDVBFrontendParametersSatellite.Polarisation_CircularRight, _("circular right"))])
+ self.scan_scansat = {}
+ for sat in nimmanager.satList:
+ 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]))
+ return True
+
+ 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.systemEntry = None
+ self.modulationEntry = None
+ nim = nimmanager.nim_slots[index_to_scan]
+
+ self.scan_networkScan.value = False
+ if nim.isCompatible("DVB-S") :
+ self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan]))
+ self.list.append(getConfigListEntry(_('Scan start frequency'), self.blindscan_start_frequency))
+ self.list.append(getConfigListEntry(_('Scan stop frequency'), self.blindscan_stop_frequency))
+ self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
+ self.list.append(getConfigListEntry(_("Scan band"), self.blindscan_hi))
+ self.list.append(getConfigListEntry(_('Scan start symbolrate'), self.blindscan_start_symbol))
+ self.list.append(getConfigListEntry(_('Scan stop symbolrate'), self.blindscan_stop_symbol))
+ self["config"].list = self.list
+ self["config"].l.setList(self.list)
+
+ def newConfig(self):
+ cur = self["config"].getCurrent()
+ print "cur is", cur
+ if 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 checkSettings(self):