X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FScanSetup.py;h=19075b340c795c1a3aecdf00c6ce4c99077d71ab;hp=f8bfeb72c04341ae6537d23146776bc096265203;hb=94a224d02e4e320f36eae694dc31a27bc0ea9be1;hpb=4712fa7b44263f0e9517bb5a4b1729d922994572 diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py index f8bfeb7..19075b3 100644 --- a/lib/python/Screens/ScanSetup.py +++ b/lib/python/Screens/ScanSetup.py @@ -17,7 +17,7 @@ from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, \ def buildTerTransponder(frequency, inversion=2, bandwidth = 3, fechigh = 6, feclow = 6, modulation = 2, transmission = 2, guard = 4, - hierarchy = 4): + hierarchy = 4, system = 0, plpid = 0): # print "freq", frequency, "inv", inversion, "bw", bandwidth, "fech", fechigh, "fecl", feclow, "mod", modulation, "tm", transmission, "guard", guard, "hierarchy", hierarchy parm = eDVBFrontendParametersTerrestrial() parm.frequency = frequency @@ -29,6 +29,8 @@ def buildTerTransponder(frequency, parm.transmission_mode = transmission parm.guard_interval = guard parm.hierarchy = hierarchy + parm.system = system + parm.plpid = plpid return parm def getInitialTransponderList(tlist, pos): @@ -68,14 +70,14 @@ def getInitialCableTransponderList(tlist, nim): def getInitialTerrestrialTransponderList(tlist, region): list = nimmanager.getTranspondersTerrestrial(region) - #self.transponders[self.parsedTer].append((2,freq,bw,const,crh,crl,guard,transm,hierarchy,inv)) + #self.transponders[self.parsedTer].append((2,freq,bw,const,crh,crl,guard,transm,hierarchy,inv,system,plpid)) #def buildTerTransponder(frequency, inversion = 2, bandwidth = 3, fechigh = 6, feclow = 6, - #modulation = 2, transmission = 2, guard = 4, hierarchy = 4): + #modulation = 2, transmission = 2, guard = 4, hierarchy = 4, system = 0, plpid = 0):): for x in list: if x[0] == 2: #TERRESTRIAL - parm = buildTerTransponder(x[1], x[9], x[2], x[4], x[5], x[3], x[7], x[6], x[8]) + parm = buildTerTransponder(x[1], x[9], x[2], x[4], x[5], x[3], x[7], x[6], x[8], x[10], x[11]) tlist.append(parm) cable_bands = { @@ -168,6 +170,33 @@ class CableTransponderSearchSupport: self.cable_search_session["text"].setText(tmpstr) def startCableTransponderSearch(self, nim_idx): + def GetCommand(nimIdx): + _supportNimType = { 'SSH108':'ssh108' } + _nimSocket = {} + fp = file('/proc/bus/nim_sockets') + + sNo, sName = -1, "" + for line in fp: + line = line.strip() + if line.startswith('NIM Socket'): + try: sNo = line.split()[2][:-1] + except: sNo = -1 + elif line.startswith('Name:'): + try: sName = line.split()[3][4:-1] + except: sName = "" + if sNo >= 0 and sName != "": + _nimSocket[sNo] = sName + sNo, sName = -1, '' + fp.close() + print 'parsed nim_sockets :', _nimSocket + + try: + sName = _nimSocket[str(nimIdx)] + sType = _supportNimType[sName] + return sType + except: pass + return 'tda1002x' + if not self.tryGetRawFrontend(nim_idx): self.session.nav.stopService() if not self.tryGetRawFrontend(nim_idx): @@ -191,8 +220,9 @@ class CableTransponderSearchSupport: if tunername == "CXD1981": cmd = "cxd1978 --init --scan --verbose --wakeup --inv 2 --bus %d" % bus else: - cmd = "tda1002x --init --scan --verbose --wakeup --inv 2 --bus %d" % bus - + bin_name = GetCommand(nim_idx) + cmd = "%(BIN_NAME)s --init --scan --verbose --wakeup --inv 2 --bus %(BUS)d" % {'BIN_NAME':bin_name , 'BUS':bus} + if cableConfig.scan_type.value == "bands": cmd += " --scan-bands " bands = 0 @@ -246,7 +276,7 @@ class CableTransponderSearchSupport: cmd += " --sr " cmd += str(cableConfig.scan_sr_ext2.value) cmd += "000" - print "TDA1002x CMD is", cmd + print bin_name, " CMD is", cmd self.cable_search_container.execute(cmd) tmpstr = _("Try to find used transponders in cable network.. please wait...") @@ -396,15 +426,32 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): 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 HP"), self.scan_ter.fechigh)) - self.list.append(getConfigListEntry(_("Code rate LP"), 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"), self.scan_ter.guard)) - self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy)) + if nim.isCompatible("DVB-T2"): + self.systemEntry = getConfigListEntry(_('System'), self.scan_ter.system) + self.list.append(self.systemEntry) + else: + self.scan_ter.system.value = eDVBFrontendParametersTerrestrial.System_DVB_T + if self.scan_ter.system.value == eDVBFrontendParametersTerrestrial.System_DVB_T: + 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 HP"), self.scan_ter.fechigh)) + self.list.append(getConfigListEntry(_("Code rate LP"), 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"), self.scan_ter.guard)) + self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy)) + else: # DVB-T2 + 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_t2)) + self.list.append(getConfigListEntry(_("Code rate HP"), self.scan_ter.fechigh_t2)) + self.list.append(getConfigListEntry(_("Code rate LP"), self.scan_ter.feclow_t2)) + self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation_t2)) + self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission_t2)) + self.list.append(getConfigListEntry(_("Guard interval"), self.scan_ter.guard_t2)) + self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy)) + self.list.append(getConfigListEntry(_('PLP ID'), self.scan_ter.plp_id)) 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)) @@ -482,7 +529,9 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): "modulation" : eDVBFrontendParametersTerrestrial.Modulation_Auto, "transmission_mode" : eDVBFrontendParametersTerrestrial.TransmissionMode_Auto, "guard_interval" : eDVBFrontendParametersTerrestrial.GuardInterval_Auto, - "hierarchy": eDVBFrontendParametersTerrestrial.Hierarchy_Auto } + "hierarchy": eDVBFrontendParametersTerrestrial.Hierarchy_Auto, + "system": eDVBFrontendParametersTerrestrial.System_DVB_T, + "plp_id": 0 } if frontendData is not None: ttype = frontendData.get("tuner_type", "UNKNOWN") @@ -516,6 +565,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): 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) + defaultTer["system"] = frontendData.get("system", eDVBFrontendParametersTerrestrial.System_DVB_T) self.scan_sat = ConfigSubsection() self.scan_cab = ConfigSubsection() @@ -630,6 +680,13 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): (eDVBFrontendParametersTerrestrial.Bandwidth_8MHz, "8MHz"), (eDVBFrontendParametersTerrestrial.Bandwidth_7MHz, "7MHz"), (eDVBFrontendParametersTerrestrial.Bandwidth_6MHz, "6MHz")]) + self.scan_ter.bandwidth_t2 = ConfigSelection(default = defaultTer["bandwidth"], choices = [ + (eDVBFrontendParametersTerrestrial.Bandwidth_10MHz, "10MHz"), + (eDVBFrontendParametersTerrestrial.Bandwidth_8MHz, "8MHz"), + (eDVBFrontendParametersTerrestrial.Bandwidth_7MHz, "7MHz"), + (eDVBFrontendParametersTerrestrial.Bandwidth_6MHz, "6MHz"), + (eDVBFrontendParametersTerrestrial.Bandwidth_5MHz, "5MHz"), + (eDVBFrontendParametersTerrestrial.Bandwidth_1_712MHz, "1.712MHz")]) #, (eDVBFrontendParametersTerrestrial.Bandwidth_Auto, _("Auto")))) self.scan_ter.fechigh = ConfigSelection(default = defaultTer["fechigh"], choices = [ (eDVBFrontendParametersTerrestrial.FEC_1_2, "1/2"), @@ -638,6 +695,15 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"), (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"), (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))]) + self.scan_ter.fechigh_t2 = 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_6_7, "6/7"), + (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"), + (eDVBFrontendParametersTerrestrial.FEC_8_9, "8/9"), + (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"), @@ -645,27 +711,63 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"), (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"), (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))]) + self.scan_ter.feclow_t2 = 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_6_7, "6/7"), + (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"), + (eDVBFrontendParametersTerrestrial.FEC_8_9, "8/9"), + (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.modulation_t2 = ConfigSelection(default = defaultTer["modulation"], choices = [ + (eDVBFrontendParametersTerrestrial.Modulation_QPSK, "QPSK"), + (eDVBFrontendParametersTerrestrial.Modulation_QAM16, "QAM16"), + (eDVBFrontendParametersTerrestrial.Modulation_QAM64, "QAM64"), + (eDVBFrontendParametersTerrestrial.Modulation_QAM256, "QAM256"), + (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.transmission_t2 = ConfigSelection(default = defaultTer["transmission_mode"], choices = [ + (eDVBFrontendParametersTerrestrial.TransmissionMode_1k, "1K"), + (eDVBFrontendParametersTerrestrial.TransmissionMode_2k, "2K"), + (eDVBFrontendParametersTerrestrial.TransmissionMode_4k, "4K"), + (eDVBFrontendParametersTerrestrial.TransmissionMode_8k, "8K"), + (eDVBFrontendParametersTerrestrial.TransmissionMode_16k, "16K"), + (eDVBFrontendParametersTerrestrial.TransmissionMode_32k, "32K"), + (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.guard_t2 = ConfigSelection(default = defaultTer["guard_interval"], choices = [ + (eDVBFrontendParametersTerrestrial.GuardInterval_19_256, "19/256"), + (eDVBFrontendParametersTerrestrial.GuardInterval_19_128, "19/128"), + (eDVBFrontendParametersTerrestrial.GuardInterval_1_128, "1/128"), + (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_ter.system = ConfigSelection(default = defaultTer["system"], choices = [ + (eDVBFrontendParametersTerrestrial.System_DVB_T, _("DVB-T")), + (eDVBFrontendParametersTerrestrial.System_DVB_T2, _("DVB-T2"))]) + self.scan_ter.plp_id = ConfigInteger(default = defaultTer["plp_id"], limits = (0, 255)) self.scan_scansat = {} for sat in nimmanager.satList: @@ -791,16 +893,32 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): elif nim.isCompatible("DVB-T"): if self.scan_typeterrestrial.value == "single_transponder": - self.addTerTransponder(tlist, - self.scan_ter.frequency.value * 1000, - inversion = self.scan_ter.inversion.value, - bandwidth = self.scan_ter.bandwidth.value, - fechigh = self.scan_ter.fechigh.value, - feclow = self.scan_ter.feclow.value, - modulation = self.scan_ter.modulation.value, - transmission = self.scan_ter.transmission.value, - guard = self.scan_ter.guard.value, - hierarchy = self.scan_ter.hierarchy.value) + if self.scan_ter.system.value == eDVBFrontendParametersTerrestrial.System_DVB_T: + self.addTerTransponder(tlist, + self.scan_ter.frequency.value * 1000, + inversion = self.scan_ter.inversion.value, + bandwidth = self.scan_ter.bandwidth.value, + fechigh = self.scan_ter.fechigh.value, + feclow = self.scan_ter.feclow.value, + modulation = self.scan_ter.modulation.value, + transmission = self.scan_ter.transmission.value, + guard = self.scan_ter.guard.value, + hierarchy = self.scan_ter.hierarchy.value, + system = self.scan_ter.system.value, + plpid = self.scan_ter.plp_id.value) + else: + self.addTerTransponder(tlist, + self.scan_ter.frequency.value * 1000, + inversion = self.scan_ter.inversion.value, + bandwidth = self.scan_ter.bandwidth_t2.value, + fechigh = self.scan_ter.fechigh_t2.value, + feclow = self.scan_ter.feclow_t2.value, + modulation = self.scan_ter.modulation_t2.value, + transmission = self.scan_ter.transmission_t2.value, + guard = self.scan_ter.guard_t2.value, + hierarchy = self.scan_ter.hierarchy.value, + system = self.scan_ter.system.value, + plpid = self.scan_ter.plp_id.value) removeAll = False elif self.scan_typeterrestrial.value == "complete": getInitialTerrestrialTransponderList(tlist, nimmanager.getTerrestrialDescription(index_to_scan))