コード例 #1
0
    def keyRight(self):
        if isFBCLink(self.nim.slot):
            checkList = (self.advancedLof, self.advancedConnected)
            curEntry = self["config"].getCurrent()
            if curEntry in checkList:
                return

        ConfigListScreen.keyRight(self)
        self.newConfig()
コード例 #2
0
    def okbuttonClick(self):
        nim = self["nimlist"].getCurrent()
        nim = nim and nim[3]

        nimConfig = nimmanager.getNimConfig(nim.slot)
        if isFBCLink(nim.slot) and nimConfig.configMode.value == "loopthrough":
            return

        if nim is not None and not nim.empty and nim.isSupported():
            self.session.openWithCallback(self.NimSetupCB, self.resultclass,
                                          nim.slot)
コード例 #3
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def keyRight(self):
		cur = self["config"].getCurrent()
		if cur and isFBCLink(self.nim.slot):
			checkList = (self.advancedLof, self.advancedConnected)
			if cur in checkList:
				return
		ConfigListScreen.keyRight(self)
		if cur in (self.advancedSelectSatsEntry, self.selectSatsEntry) and cur:
			self.keyOk()
		else:
			if cur == self.multiType and cur:
				self.saveAll()
			self.newConfig()
コード例 #4
0
    def loadFBCLinks(self):
        for x in nimmanager.nim_slots:
            slotid = x.slot
            nimConfig = nimmanager.getNimConfig(x.slot)
            configMode = nimConfig.configMode.value
            if self.showNim(x):
                if x.isCompatible("DVB-S"):
                    if isFBCLink(x.slot) and configMode != "advanced":
                        link = getLinkedSlotID(x.slot)

                        if link == -1:
                            nimConfig.configMode.value = "nothing"
                        else:
                            nimConfig.configMode.value = "loopthrough"
                            nimConfig.connectedTo.value = str(link)
コード例 #5
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def loadFBCLinks(self):
		for x in nimmanager.nim_slots:
			slotid = x.slot
			if self.showNim(x):
				if x.isCompatible("DVB-S"):
					nimConfig = nimmanager.getNimConfig(x.slot).dvbs
					configMode = nimConfig.configMode.value
					if isFBCLink(x.slot) and configMode != "advanced":
						link = getLinkedSlotID(x.slot)

						if link == -1:
							nimConfig.configMode.value = "nothing"
						else:
							nimConfig.configMode.value = "loopthrough"
							nimConfig.connectedTo.value = str(link)
コード例 #6
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def okbuttonClick(self):
		nim = self["nimlist"].getCurrent()
		nim = nim and nim[3]

		if isFBCLink(nim.slot):
			if nim.isCompatible("DVB-S"):
				nimConfig = nimmanager.getNimConfig(nim.slot).dvbs
			elif nim.isCompatible("DVB-C"):
				nimConfig = nimmanager.getNimConfig(nim.slot).dvbc
			elif nim.isCompatible("DVB-T"):
				nimConfig = nimmanager.getNimConfig(nim.slot).dvbt

			if nimConfig.configMode.value == "loopthrough":
				return
		if nim is not None and not nim.empty and nim.isSupported():
			self.session.openWithCallback(boundFunction(self.NimSetupCB, self["nimlist"].getIndex()), self.resultclass, nim.slot)
コード例 #7
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def createConfigMode(self):
		if self.nim.canBeCompatible("DVB-S"):
			choices = {"nothing": _("not configured"),
						"simple": _("Simple"),
						"advanced": _("Advanced")}
			if len(nimmanager.canEqualTo(self.slotid)) > 0:
				choices["equal"] = _("Equal to")
			if len(nimmanager.canDependOn(self.slotid)) > 0:
				choices["satposdepends"] = _("Second cable of motorized LNB")
			if len(nimmanager.canConnectTo(self.slotid)) > 0:
				choices["loopthrough"] = _("Loop through to")
			if isFBCLink(self.nim.slot):
				choices = { "nothing": _("not configured"),
						"advanced": _("Advanced")}
			if self.nim.isMultiType():
				self.nimConfig.dvbs.configMode.setChoices(choices, default = "nothing")
			else:
				self.nimConfig.dvbs.configMode.setChoices(choices, default = "simple")
コード例 #8
0
 def createConfigMode(self):
     if self.nim.isCompatible("DVB-S"):
         choices = {
             "nothing": _("not configured"),
             "simple": _("simple"),
             "advanced": _("advanced")
         }
         #if len(nimmanager.getNimListOfType(nimmanager.getNimType(self.slotid), exception = x)) > 0:
         #	choices["equal"] = _("equal to")
         #	choices["satposdepends"] = _("second cable of motorized LNB")
         if len(nimmanager.canEqualTo(self.slotid)) > 0:
             choices["equal"] = _("equal to")
         if len(nimmanager.canDependOn(self.slotid)) > 0:
             choices["satposdepends"] = _("second cable of motorized LNB")
         if len(nimmanager.canConnectTo(self.slotid)) > 0:
             choices["loopthrough"] = _("loopthrough to")
         if isFBCLink(self.nim.slot):
             choices = {
                 "nothing": _("not configured"),
                 "advanced": _("advanced")
             }
         self.nimConfig.configMode.setChoices(choices, default="nothing")
コード例 #9
0
    def updateList(self):
        self.list = []
        for x in nimmanager.nim_slots:
            slotid = x.slot
            nimConfig = nimmanager.getNimConfig(x.slot)
            text = nimConfig.configMode.value
            if self.showNim(x):
                if x.isCompatible("DVB-S"):
                    if nimConfig.configMode.value in ("loopthrough", "equal",
                                                      "satposdepends"):
                        text = {
                            "loopthrough": _("loopthrough to"),
                            "equal": _("equal to"),
                            "satposdepends": _("second cable of motorized LNB")
                        }[nimConfig.configMode.value]
                        text += " " + _("Tuner") + " " + chr(
                            ord('A') + int(nimConfig.connectedTo.value))
                    elif nimConfig.configMode.value == "nothing":
                        text = _("not configured")
                    elif nimConfig.configMode.value == "simple":
                        if nimConfig.diseqcMode.value in ("single",
                                                          "toneburst_a_b",
                                                          "diseqc_a_b",
                                                          "diseqc_a_b_c_d"):
                            text = {
                                "single": _("Single"),
                                "toneburst_a_b": _("Toneburst A/B"),
                                "diseqc_a_b": _("DiSEqC A/B"),
                                "diseqc_a_b_c_d": _("DiSEqC A/B/C/D")
                            }[nimConfig.diseqcMode.value] + "\n"
                            text += _("Sats") + ": "
                            satnames = []
                            if nimConfig.diseqcA.orbital_position != 3601:
                                satnames.append(
                                    nimmanager.getSatName(
                                        int(nimConfig.diseqcA.value)))
                            if nimConfig.diseqcMode.value in (
                                    "toneburst_a_b", "diseqc_a_b",
                                    "diseqc_a_b_c_d"):
                                if nimConfig.diseqcB.orbital_position != 3601:
                                    satnames.append(
                                        nimmanager.getSatName(
                                            int(nimConfig.diseqcB.value)))
                            if nimConfig.diseqcMode.value == "diseqc_a_b_c_d":
                                if nimConfig.diseqcC.orbital_position != 3601:
                                    satnames.append(
                                        nimmanager.getSatName(
                                            int(nimConfig.diseqcC.value)))
                                if nimConfig.diseqcD.orbital_position != 3601:
                                    satnames.append(
                                        nimmanager.getSatName(
                                            int(nimConfig.diseqcD.value)))
                            if len(satnames) <= 2:
                                text += ", ".join(satnames)
                            elif len(satnames) > 2:
                                # we need a newline here, since multi content lists don't support automtic line wrapping
                                text += ", ".join(satnames[:2]) + ",\n"
                                text += "         " + ", ".join(satnames[2:])
                        elif nimConfig.diseqcMode.value == "positioner":
                            text = _("Positioner") + ":"
                            if nimConfig.positionerMode.value == "usals":
                                text += _("USALS")
                            elif nimConfig.positionerMode.value == "manual":
                                text += _("manual")
                        else:
                            text = _("simple")
                    elif nimConfig.configMode.value == "advanced":
                        text = _("advanced")
                    if isFBCLink(
                            x.slot
                    ) and nimConfig.configMode.value != "advanced":
                        text += _("\n<This tuner is configured automatically>")
                elif x.isCompatible("DVB-T") or x.isCompatible("DVB-C"):
                    if nimConfig.configMode.value == "nothing":
                        text = _("nothing connected")
                    elif nimConfig.configMode.value == "enabled":
                        text = _("enabled")
                if x.isMultiType():
                    text = _("Switchable tuner types:") + "(" + ','.join(
                        x.getMultiTypeList().values()) + ")" + "\n" + text
                if not x.isSupported():
                    text = _("tuner is not supported")

                self.list.append(
                    (slotid, x.friendly_full_description, text, x))
        self["nimlist"].setList(self.list)
        self["nimlist"].updateList(self.list)
コード例 #10
0
    def fillListWithAdvancedSatEntrys(self, Sat):
        lnbnum = int(Sat.lnb.value)
        currLnb = self.nimConfig.advanced.lnb[lnbnum]
        diction = None
        if isinstance(currLnb, ConfigNothing):
            currLnb = None

        # LNBs
        self.advancedLnbsEntry = getConfigListEntry(_("LNB"), Sat.lnb)
        self.list.append(self.advancedLnbsEntry)

        if currLnb:
            if isFBCLink(self.nim.slot):
                if currLnb.lof.value != "unicable":
                    currLnb.lof.value = "unicable"

            self.list.append(getConfigListEntry(_("Priority"), currLnb.prio))
            self.advancedLof = getConfigListEntry(_("LOF"), currLnb.lof)
            self.list.append(self.advancedLof)
            if currLnb.lof.value == "user_defined":
                self.list.append(getConfigListEntry(_("LOF/L"), currLnb.lofl))
                self.list.append(getConfigListEntry(_("LOF/H"), currLnb.lofh))
                self.list.append(
                    getConfigListEntry(_("Threshold"), currLnb.threshold))


#			self.list.append(getConfigListEntry(_("12V Output"), currLnb.output_12v))

            if currLnb.lof.value == "unicable":
                self.advancedUnicable = getConfigListEntry(
                    "Unicable " + _("Configuration Mode"), currLnb.unicable)
                self.list.append(self.advancedUnicable)
                if currLnb.unicable.value == "unicable_user":
                    self.advancedDiction = getConfigListEntry(
                        _("Diction"), currLnb.dictionuser)
                    self.list.append(self.advancedDiction)

                    if currLnb.dictionuser.value == "EN50494":
                        satcr = currLnb.satcruserEN50494
                        stcrvco = currLnb.satcrvcouserEN50494[
                            currLnb.satcruserEN50494.index]
                    elif currLnb.dictionuser.value == "EN50607":
                        satcr = currLnb.satcruserEN50607
                        stcrvco = currLnb.satcrvcouserEN50607[
                            currLnb.satcruserEN50607.index]

                    self.advancedSCR = getConfigListEntry(_("Channel"), satcr)
                    self.list.append(self.advancedSCR)
                    self.list.append(
                        getConfigListEntry(_("Frequency"), stcrvco))

                    self.list.append(
                        getConfigListEntry(_("LOF/L"), currLnb.lofl))
                    self.list.append(
                        getConfigListEntry(_("LOF/H"), currLnb.lofh))
                    self.list.append(
                        getConfigListEntry(_("Threshold"), currLnb.threshold))
                elif currLnb.unicable.value == "unicable_matrix":
                    manufacturer_name = currLnb.unicableMatrixManufacturer.value
                    manufacturer = currLnb.unicableMatrix[manufacturer_name]
                    #					if "product" in manufacturer.content:
                    product_name = manufacturer.product.value
                    self.advancedManufacturer = getConfigListEntry(
                        _("Manufacturer"), currLnb.unicableMatrixManufacturer)
                    self.list.append(self.advancedManufacturer)
                    if product_name in manufacturer.scr:
                        diction = manufacturer.diction[product_name].value
                        self.advancedType = getConfigListEntry(
                            _("Type"), manufacturer.product)
                        self.advancedSCR = getConfigListEntry(
                            _("Channel"), manufacturer.scr[product_name])
                        self.list.append(self.advancedType)
                        self.list.append(self.advancedSCR)
                        self.list.append(
                            getConfigListEntry(
                                _("Frequency"), manufacturer.vco[product_name][
                                    manufacturer.scr[product_name].index]))
                elif currLnb.unicable.value == "unicable_lnb":
                    manufacturer_name = currLnb.unicableLnbManufacturer.value
                    manufacturer = currLnb.unicableLnb[manufacturer_name]
                    #					if "product" in manufacturer.content:
                    product_name = manufacturer.product.value
                    self.advancedManufacturer = getConfigListEntry(
                        _("Manufacturer"), currLnb.unicableLnbManufacturer)
                    self.list.append(self.advancedManufacturer)
                    if product_name in manufacturer.scr:
                        diction = manufacturer.diction[product_name].value
                        self.advancedType = getConfigListEntry(
                            _("Type"), manufacturer.product)
                        self.advancedSCR = getConfigListEntry(
                            _("Channel"), manufacturer.scr[product_name])
                        self.list.append(self.advancedType)
                        self.list.append(self.advancedSCR)
                        self.list.append(
                            getConfigListEntry(
                                _("Frequency"), manufacturer.vco[product_name][
                                    manufacturer.scr[product_name].index]))

                choices = []
                connectable = nimmanager.canConnectTo(self.slotid)
                for id in connectable:
                    choices.append((str(id), nimmanager.getNimDescription(id)))
                if len(choices):
                    if isFBCLink(self.nim.slot):
                        if self.nimConfig.advanced.unicableconnected.value != True:
                            self.nimConfig.advanced.unicableconnected.value = True

                    self.advancedConnected = getConfigListEntry(
                        _("connected"),
                        self.nimConfig.advanced.unicableconnected)
                    self.list.append(self.advancedConnected)
                    if self.nimConfig.advanced.unicableconnected.value == True:
                        self.nimConfig.advanced.unicableconnectedTo.setChoices(
                            choices)
                        self.list.append(
                            getConfigListEntry(
                                _("Connected to"),
                                self.nimConfig.advanced.unicableconnectedTo))

            else:  #kein Unicable
                self.list.append(
                    getConfigListEntry(_("Voltage mode"), Sat.voltage))
                self.list.append(
                    getConfigListEntry(_("Increased voltage"),
                                       currLnb.increased_voltage))
                self.list.append(
                    getConfigListEntry(_("Tone mode"), Sat.tonemode))

            if lnbnum < 65 and diction != "EN50607":
                self.advancedDiseqcMode = getConfigListEntry(
                    _("DiSEqC mode"), currLnb.diseqcMode)
                self.list.append(self.advancedDiseqcMode)
            if currLnb.diseqcMode.value != "none":
                self.list.append(
                    getConfigListEntry(_("Toneburst"), currLnb.toneburst))
                self.list.append(
                    getConfigListEntry(_("Committed DiSEqC command"),
                                       currLnb.commitedDiseqcCommand))
                self.list.append(
                    getConfigListEntry(_("Fast DiSEqC"), currLnb.fastDiseqc))
                self.list.append(
                    getConfigListEntry(_("Sequence repeat"),
                                       currLnb.sequenceRepeat))
                if currLnb.diseqcMode.value == "1_0":
                    self.list.append(
                        getConfigListEntry(_("Command order"),
                                           currLnb.commandOrder1_0))
                else:
                    if currLnb.uncommittedDiseqcCommand.index:
                        if currLnb.commandOrder.value == "ct":
                            currLnb.commandOrder.value = "cut"
                        elif currLnb.commandOrder.value == "tc":
                            currLnb.commandOrder.value = "tcu"
                    else:
                        if currLnb.commandOrder.index & 1:
                            currLnb.commandOrder.value = "tc"
                        else:
                            currLnb.commandOrder.value = "ct"
                    self.list.append(
                        getConfigListEntry(_("Command order"),
                                           currLnb.commandOrder))
                    self.uncommittedDiseqcCommand = getConfigListEntry(
                        _("Uncommitted DiSEqC command"),
                        currLnb.uncommittedDiseqcCommand)
                    self.list.append(self.uncommittedDiseqcCommand)
                    self.list.append(
                        getConfigListEntry(_("DiSEqC repeats"),
                                           currLnb.diseqcRepeats))
                if currLnb.diseqcMode.value == "1_2":
                    self.list.append(
                        getConfigListEntry(_("Longitude"), currLnb.longitude))
                    self.list.append(
                        getConfigListEntry(" ", currLnb.longitudeOrientation))
                    self.list.append(
                        getConfigListEntry(_("Latitude"), currLnb.latitude))
                    self.list.append(
                        getConfigListEntry(" ", currLnb.latitudeOrientation))
                    if SystemInfo["CanMeasureFrontendInputPower"]:
                        self.advancedPowerMeasurement = getConfigListEntry(
                            _("Use Power Measurement"),
                            currLnb.powerMeasurement)
                        self.list.append(self.advancedPowerMeasurement)
                        if currLnb.powerMeasurement.value:
                            self.list.append(
                                getConfigListEntry(_("Power threshold in mA"),
                                                   currLnb.powerThreshold))
                            self.turningSpeed = getConfigListEntry(
                                _("Rotor turning speed"), currLnb.turningSpeed)
                            self.list.append(self.turningSpeed)
                            if currLnb.turningSpeed.value == "fast epoch":
                                self.turnFastEpochBegin = getConfigListEntry(
                                    _("Begin time"), currLnb.fastTurningBegin)
                                self.turnFastEpochEnd = getConfigListEntry(
                                    _("End time"), currLnb.fastTurningEnd)
                                self.list.append(self.turnFastEpochBegin)
                                self.list.append(self.turnFastEpochEnd)
                    else:
                        if currLnb.powerMeasurement.value:
                            currLnb.powerMeasurement.value = False
                            currLnb.powerMeasurement.save()
                    self.advancedUsalsEntry = getConfigListEntry(
                        _("Use usals for this sat"), Sat.usals)
                    self.list.append(self.advancedUsalsEntry)
                    if not Sat.usals.value:
                        self.list.append(
                            getConfigListEntry(_("Stored position"),
                                               Sat.rotorposition))
コード例 #11
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def updateList(self, index=None):
		self.list = [ ]
		for x in nimmanager.nim_slots:
			slotid = x.slot
			text = ""
			if self.showNim(x):
				if x.isMultiType():
					if x.canBeCompatible("DVB-S") and nimmanager.getNimConfig(x.slot).dvbs.configMode.value != "nothing":
						text = " DVB-S,"
					if x.canBeCompatible("DVB-C") and nimmanager.getNimConfig(x.slot).dvbc.configMode.value != "nothing":
						text = " DVB-C," + text
					if x.canBeCompatible("DVB-T") and nimmanager.getNimConfig(x.slot).dvbt.configMode.value != "nothing":
						text = " DVB-T," + text
					if text:
						text = _("Enabled") + ":" + text[:-1]
					else:
						text = _("nothing connected")
					text = _("Switchable tuner types:") + "(" + ','.join(x.getMultiTypeList().values()) + ")" + "\n" + text
				elif x.isCompatible("DVB-S"):
					nimConfig = nimmanager.getNimConfig(x.slot).dvbs
					text = nimConfig.configMode.value
					if nimConfig.configMode.value in ("loopthrough", "equal", "satposdepends"):
						text = { "loopthrough": _("Loop through to"),
								 "equal": _("Equal to"),
								 "satposdepends": _("Second cable of motorized LNB") } [nimConfig.configMode.value]
						if len(x.input_name) > 1:
							text += " " + _("Tuner") + " " + ["A1", "A2", "B", "C"][int(nimConfig.connectedTo.value)]
						else:
							text += " " + _("Tuner") + " " + chr(ord('A')+int(nimConfig.connectedTo.value))
					elif nimConfig.configMode.value == "nothing":
						text = _("not configured")
					elif nimConfig.configMode.value == "simple":
						if nimConfig.diseqcMode.value in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
							text = {"single": _("Single"), "toneburst_a_b": _("Toneburst A/B"), "diseqc_a_b": _("DiSEqC A/B"), "diseqc_a_b_c_d": _("DiSEqC A/B/C/D")}[nimConfig.diseqcMode.value] + "\n"
							text += _("Sats") + ": "
							satnames = []
							if nimConfig.diseqcA.orbital_position < 3600:
								satnames.append(nimmanager.getSatName(int(nimConfig.diseqcA.value)))
							if nimConfig.diseqcMode.value in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
								if nimConfig.diseqcB.orbital_position < 3600:
									satnames.append(nimmanager.getSatName(int(nimConfig.diseqcB.value)))
							if nimConfig.diseqcMode.value == "diseqc_a_b_c_d":
								if nimConfig.diseqcC.orbital_position < 3600:
									satnames.append(nimmanager.getSatName(int(nimConfig.diseqcC.value)))
								if nimConfig.diseqcD.orbital_position < 3600:
									satnames.append(nimmanager.getSatName(int(nimConfig.diseqcD.value)))
							if len(satnames) <= 2:
								text += ", ".join(satnames)
							elif len(satnames) > 2:
								# we need a newline here, since multi content lists don't support automtic line wrapping
								text += ", ".join(satnames[:2]) + ",\n"
								text += "         " + ", ".join(satnames[2:])
						elif nimConfig.diseqcMode.value in ("positioner", "positioner_select"):
							text = {"positioner": _("Positioner"), "positioner_select": _("Positioner (selecting satellites)")}[nimConfig.diseqcMode.value]
							text += ":"
							if nimConfig.positionerMode.value == "usals":
								text += "USALS"
							elif nimConfig.positionerMode.value == "manual":
								text += _("Manual")
						else:
							text = _("Simple")
					elif nimConfig.configMode.value == "advanced":
						text = _("Advanced")
					if isFBCLink(x.slot) and nimConfig.configMode.value != "advanced":
						text += _("\n<This tuner is configured automatically>")
				elif x.isCompatible("DVB-T"):
					nimConfig = nimmanager.getNimConfig(x.slot).dvbt
					if nimConfig.configMode.value == "nothing":
						text = _("nothing connected")
					elif nimConfig.configMode.value == "enabled":
						text = _("Enabled")
				elif x.isCompatible("DVB-C"):
					nimConfig = nimmanager.getNimConfig(x.slot).dvbc
					if nimConfig.configMode.value == "nothing":
						text = _("nothing connected")
					elif nimConfig.configMode.value == "enabled":
						text = _("Enabled")
				elif x.isCompatible("ATSC"):
					nimConfig = nimmanager.getNimConfig(x.slot).atsc
					if nimConfig.configMode.value == "nothing":
						text = _("nothing connected")
					elif nimConfig.configMode.value == "enabled":
						text = _("Enabled")
				if not x.isSupported():
					text = _("Tuner is not supported")

				self.list.append((slotid, x.friendly_full_description, text, x))
		self["nimlist"].setList(self.list)
		self["nimlist"].updateList(self.list)
		if index is not None:
			self["nimlist"].setIndex(index)
コード例 #12
0
ファイル: Satconfig.py プロジェクト: christophecvr/enigma2
	def fillListWithAdvancedSatEntrys(self, Sat):
		lnbnum = int(Sat.lnb.value)
		nimConfig_advanced = self.nimConfig.dvbs.advanced
		currLnb = nimConfig_advanced.lnb[lnbnum]
		diction = None
		if isinstance(currLnb, ConfigNothing):
			currLnb = None

		# LNBs
		self.advancedLnbsEntry = getConfigListEntry(_("LNB"), Sat.lnb)
		self.list.append(self.advancedLnbsEntry)

		if currLnb:
			if isFBCLink(self.nim.slot):
				if currLnb.lof.value != "unicable":
					currLnb.lof.value = "unicable"
			self.list.append(getConfigListEntry(_("Priority"), currLnb.prio))
			self.advancedLof = getConfigListEntry(_("LOF"), currLnb.lof)
			self.list.append(self.advancedLof)
			if currLnb.lof.value == "user_defined":
				self.list.append(getConfigListEntry(_("LOF/L"), currLnb.lofl))
				self.list.append(getConfigListEntry(_("LOF/H"), currLnb.lofh))
				self.list.append(getConfigListEntry(_("Threshold"), currLnb.threshold))

			if currLnb.lof.value == "unicable":
				self.advancedUnicable = getConfigListEntry(_("Unicable ")+_("Configuration mode"), currLnb.unicable)
				self.list.append(self.advancedUnicable)
				if currLnb.unicable.value == "unicable_user":
					self.advancedDiction = getConfigListEntry(_("Diction"), currLnb.dictionuser)
					self.list.append(self.advancedDiction)
					if currLnb.dictionuser.value == "EN50494":
						satcr = currLnb.satcruserEN50494
						stcrvco = currLnb.satcrvcouserEN50494[currLnb.satcruserEN50494.index]
					elif currLnb.dictionuser.value == "EN50607":
						satcr = currLnb.satcruserEN50607
						stcrvco = currLnb.satcrvcouserEN50607[currLnb.satcruserEN50607.index]
					self.advancedSCR = getConfigListEntry(_("Channel"), satcr)
					self.list.append(self.advancedSCR)
					self.list.append(getConfigListEntry(_("Frequency"), stcrvco))
					self.list.append(getConfigListEntry(_("LOF/L"), currLnb.lofl))
					self.list.append(getConfigListEntry(_("LOF/H"), currLnb.lofh))
					self.list.append(getConfigListEntry(_("Threshold"), currLnb.threshold))
				elif currLnb.unicable.value == "unicable_matrix":
					nimmanager.sec.reconstructUnicableDate(currLnb.unicableMatrixManufacturer, currLnb.unicableMatrix, currLnb)
					manufacturer_name = currLnb.unicableMatrixManufacturer.value.decode('utf-8')
					manufacturer = currLnb.unicableMatrix[manufacturer_name]
					product_name = manufacturer.product.value.decode('utf-8')
					self.advancedManufacturer = getConfigListEntry(_("Manufacturer"), currLnb.unicableMatrixManufacturer)
					self.list.append(self.advancedManufacturer)
					if product_name in manufacturer.scr:
						diction = manufacturer.diction[product_name].value
						self.advancedType = getConfigListEntry(_("Type"), manufacturer.product)
						self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name])
						self.list.append(self.advancedType)
						self.list.append(self.advancedSCR)
						self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index]))
				elif currLnb.unicable.value == "unicable_lnb":
					nimmanager.sec.reconstructUnicableDate(currLnb.unicableLnbManufacturer, currLnb.unicableLnb, currLnb)
					manufacturer_name = currLnb.unicableLnbManufacturer.value.decode('utf-8')
					manufacturer = currLnb.unicableLnb[manufacturer_name]
					product_name = manufacturer.product.value.decode('utf-8')
					self.advancedManufacturer = getConfigListEntry(_("Manufacturer"), currLnb.unicableLnbManufacturer)
					self.list.append(self.advancedManufacturer)
					if product_name in manufacturer.scr:
						diction = manufacturer.diction[product_name].value
						self.advancedType = getConfigListEntry(_("Type"), manufacturer.product)
						self.advancedSCR = getConfigListEntry(_("Channel"), manufacturer.scr[product_name])
						self.list.append(self.advancedType)
						self.list.append(self.advancedSCR)
						self.list.append(getConfigListEntry(_("Frequency"), manufacturer.vco[product_name][manufacturer.scr[product_name].index]))

				self.advancedUnicableTuningAlgo = getConfigListEntry(_("Tuning algorithm"), currLnb.unicableTuningAlgo)
				self.list.append(self.advancedUnicableTuningAlgo)

				choices = []
				connectable = nimmanager.canConnectTo(self.slotid)
				for id in connectable:
					choices.append((str(id), nimmanager.getNimDescription(id)))
				if len(choices):
					if isFBCLink(self.nim.slot):
						if nimConfig_advanced.unicableconnected.value != True:
							nimConfig_advanced.unicableconnected.value = True
					self.advancedConnected = getConfigListEntry(_("connected"), nimConfig_advanced.unicableconnected)
					self.list.append(self.advancedConnected)
					if nimConfig_advanced.unicableconnected.value:
						nimConfig_advanced.unicableconnectedTo.setChoices(choices)
						self.list.append(getConfigListEntry(_("Connected to"), nimConfig_advanced.unicableconnectedTo))

			else:	#no Unicable
				self.list.append(getConfigListEntry(_("Voltage mode"), Sat.voltage))
				self.list.append(getConfigListEntry(_("Increased voltage"), currLnb.increased_voltage))
				self.list.append(getConfigListEntry(_("Tone mode"), Sat.tonemode))

			if lnbnum < 65 and diction !="EN50607":
				self.advancedDiseqcMode = getConfigListEntry(_("DiSEqC mode"), currLnb.diseqcMode)
				self.list.append(self.advancedDiseqcMode)
			if currLnb.diseqcMode.value != "none":
				self.list.append(getConfigListEntry(_("Fast DiSEqC"), currLnb.fastDiseqc))
				self.toneburst = getConfigListEntry(_("Toneburst"), currLnb.toneburst)
				self.list.append(self.toneburst)
				self.committedDiseqcCommand = getConfigListEntry(_("DiSEqC 1.0 command"), currLnb.commitedDiseqcCommand)
				self.list.append(self.committedDiseqcCommand)

				if currLnb.diseqcMode.value == "1_0":
					if currLnb.toneburst.index and currLnb.commitedDiseqcCommand.index:
						self.list.append(getConfigListEntry(_("Command order"), currLnb.commandOrder1_0))
				else:
					self.uncommittedDiseqcCommand = getConfigListEntry(_("DiSEqC 1.1 command"), currLnb.uncommittedDiseqcCommand)
					self.list.append(self.uncommittedDiseqcCommand)
					if currLnb.uncommittedDiseqcCommand.index:
						if currLnb.commandOrder.value == "ct":
							currLnb.commandOrder.value = "cut"
						elif currLnb.commandOrder.value == "tc":
							currLnb.commandOrder.value = "tcu"
					else:
						if currLnb.commandOrder.index & 1:
							currLnb.commandOrder.value = "tc"
						else:
							currLnb.commandOrder.value = "ct"
					self.commandOrder = getConfigListEntry(_("Command order"), currLnb.commandOrder)
					if 1 < ((1 if currLnb.uncommittedDiseqcCommand.index else 0) + (1 if currLnb.commitedDiseqcCommand.index else 0) + (1 if currLnb.toneburst.index else 0)):
						self.list.append(self.commandOrder)
					if currLnb.uncommittedDiseqcCommand.index:
						self.list.append(getConfigListEntry(_("DiSEqC 1.1 repeats"), currLnb.diseqcRepeats))
				self.list.append(getConfigListEntry(_("Sequence repeat"), currLnb.sequenceRepeat))
				if currLnb.diseqcMode.value == "1_2":
					if SystemInfo["CanMeasureFrontendInputPower"]:
						self.advancedPowerMeasurement = getConfigListEntry(_("Use power measurement"), currLnb.powerMeasurement)
						self.list.append(self.advancedPowerMeasurement)
						if currLnb.powerMeasurement.value:
							self.list.append(getConfigListEntry(_("Power threshold in mA"), currLnb.powerThreshold))
							self.turningSpeed = getConfigListEntry(_("Rotor turning speed"), currLnb.turningSpeed)
							self.list.append(self.turningSpeed)
							if currLnb.turningSpeed.value == "fast epoch":
								self.turnFastEpochBegin = getConfigListEntry(_("Begin time"), currLnb.fastTurningBegin)
								self.turnFastEpochEnd = getConfigListEntry(_("End time"), currLnb.fastTurningEnd)
								self.list.append(self.turnFastEpochBegin)
								self.list.append(self.turnFastEpochEnd)
					else:
						if currLnb.powerMeasurement.value:
							currLnb.powerMeasurement.value = False
							currLnb.powerMeasurement.save()
					self.advancedUsalsEntry = getConfigListEntry(_("Use USALS for this sat"), Sat.usals)
					if lnbnum < 65:
						self.list.append(self.advancedUsalsEntry)
					if Sat.usals.value:
						self.list.append(getConfigListEntry(_("Longitude"), currLnb.longitude))
						self.list.append(getConfigListEntry(" ", currLnb.longitudeOrientation))
						self.list.append(getConfigListEntry(_("Latitude"), currLnb.latitude))
						self.list.append(getConfigListEntry(" ", currLnb.latitudeOrientation))
					else:
						self.list.append(getConfigListEntry(_("Stored position"), Sat.rotorposition))
					if not hasattr(self, 'additionalMotorOptions'):
						self.additionalMotorOptions = ConfigYesNo(False)
					self.showAdditionalMotorOptions = getConfigListEntry(_("Extra motor options"), self.additionalMotorOptions)
					self.list.append(self.showAdditionalMotorOptions)
					if self.additionalMotorOptions.value:
						self.list.append(getConfigListEntry("   " + _("Horizontal turning speed") + " [" + chr(176) + "/sec]", currLnb.turningspeedH))
						self.list.append(getConfigListEntry("   " + _("Vertical turning speed") + " [" + chr(176) + "/sec]", currLnb.turningspeedV))
						self.list.append(getConfigListEntry("   " + _("Turning step size") + " [" + chr(176) + "]", currLnb.tuningstepsize))
						self.list.append(getConfigListEntry("   " + _("Max memory positions"), currLnb.rotorPositions))