aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-01-26 17:09:24 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-01-26 17:09:24 +0100
commit925629a36b521924a774da09b4f11515dd1889b3 (patch)
tree786979b461430c6ba58f19b77b59f0bc863dc40a /lib/python
parent7647e42f245ae741abd45fed11f416613e103e15 (diff)
parentceef4c054c5482ae32f1e61b367621f2f5ac2c97 (diff)
downloadenigma2-925629a36b521924a774da09b4f11515dd1889b3.tar.gz
enigma2-925629a36b521924a774da09b4f11515dd1889b3.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/TimerSanityCheck.py3
-rw-r--r--lib/python/Components/TuneTest.py16
-rwxr-xr-xlib/python/Components/config.py5
-rw-r--r--lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py116
-rw-r--r--lib/python/Plugins/SystemPlugins/Satfinder/plugin.py57
-rw-r--r--lib/python/Screens/ScanSetup.py343
-rw-r--r--lib/python/Screens/ServiceInfo.py37
-rw-r--r--lib/python/Tools/Makefile.am2
-rw-r--r--lib/python/Tools/Transponder.py117
9 files changed, 412 insertions, 284 deletions
diff --git a/lib/python/Components/TimerSanityCheck.py b/lib/python/Components/TimerSanityCheck.py
index 10dc31bd..99b2fba5 100644
--- a/lib/python/Components/TimerSanityCheck.py
+++ b/lib/python/Components/TimerSanityCheck.py
@@ -173,8 +173,7 @@ class TimerSanityCheck:
def getServiceType(ref): # helper function to get a service type of a service reference
serviceInfo = serviceHandler.info(ref)
serviceInfo = serviceInfo and serviceInfo.getInfoObject(ref, iServiceInformation.sTransponderData)
- if serviceInfo:
- return { "Satellite" : "DVB-S", "Cable" : "DVB-C", "Terrestrial" : "DVB-T"}[serviceInfo["type"]]
+ return serviceInfo and serviceInfo["tuner_type"] or ""
ref = timer.service_ref.ref
if ref.flags & eServiceReference.isGroup: # service group ?
diff --git a/lib/python/Components/TuneTest.py b/lib/python/Components/TuneTest.py
index 422036cd..de7b0098 100644
--- a/lib/python/Components/TuneTest.py
+++ b/lib/python/Components/TuneTest.py
@@ -3,7 +3,7 @@ from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParameters, eDVB
class Tuner:
def __init__(self, frontend):
self.frontend = frontend
-
+
# transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, system, modulation)
# 0 1 2 3 4 5 6 7
def tune(self, transponder):
@@ -16,17 +16,25 @@ class Tuner:
parm.fec = transponder[3]
parm.inversion = transponder[4]
parm.orbital_position = transponder[5]
- parm.system = 0 # FIXMEE !! HARDCODED DVB-S (add support for DVB-S2)
- parm.modulation = 1 # FIXMEE !! HARDCODED QPSK
+ parm.system = transponder[6]
+ parm.modulation = transponder[7]
+ parm.rolloff = transponder[8]
+ parm.pilot = transponder[9]
feparm = eDVBFrontendParameters()
feparm.setDVBS(parm)
self.lastparm = feparm
self.frontend.tune(feparm)
-
+
def retune(self):
if self.frontend:
self.frontend.tune(self.lastparm)
+ def getTransponderData(self):
+ ret = { }
+ if self.frontend:
+ self.frontend.getTransponderData(ret, True)
+ return ret
+
# tunes a list of transponders and checks, if they lock and optionally checks the onid/tsid combination
# 1) add transponders with addTransponder()
# 2) call run(<checkPIDs = True>)
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index 1efb8a56..a7724f40 100755
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -183,9 +183,8 @@ class ConfigSelection(ConfigElement):
default = self.choices[0]
assert default in self.choices, "default must be in choice list, but " + repr(default) + " is not!"
- for x in self.choices:
- assert isinstance(x, str), "ConfigSelection choices must be strings"
-
+# for x in self.choices:
+# assert isinstance(x, str), "ConfigSelection choices must be strings"
self.default = default
if self.value == None or not self.value in self.choices:
diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py
index d3714440..6d2ddce3 100644
--- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py
+++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py
@@ -14,6 +14,8 @@ from Components.ActionMap import ActionMap
from Components.NimManager import nimmanager
from Components.MenuList import MenuList
from Components.config import ConfigSatlist, ConfigNothing, ConfigSelection, ConfigSubsection, KEY_LEFT, KEY_RIGHT, getConfigListEntry
+from Components.TuneTest import Tuner
+from Tools.Transponder import ConvertToHumanReadable
from time import sleep
@@ -79,25 +81,16 @@ class PositionerSetup(Screen):
tp = ( cur.get("frequency", 0) / 1000,
cur.get("symbol_rate", 0) / 1000,
- { "HORIZONTAL" : 0, "VERTICAL" : 1,
- "CIRCULAR_LEFT" : 2, "CIRCULAR_RIGHT" : 3 }[cur.get("polarization", "HORIZONTAL")],
- { "FEC_AUTO" : 0, "FEC_1_2" : 1, "FEC_2_3" : 2, "FEC_3_4" : 3,
- "FEC_5_6" : 4, "FEC_7_8" : 5, "FEC_8_9" : 6, "FEC_3_5" : 7,
- "FEC_4_5" : 8, "FEC_9_10" : 9, "FEC_NONE" : 15 }[cur.get("fec_inner", "FEC_AUTO")],
- { "INVERSION_OFF" : 0,
- "INVERSION_ON" : 1,
- "INVERSION_AUTO" : 2 }[cur.get("inversion", "INVERSION_AUTO")],
+ cur.get("polarization", eDVBFrontendParametersSatellite.Polarisation_Horizontal),
+ cur.get("fec_inner", eDVBFrontendParametersSatellite.FEC_Auto),
+ cur.get("inversion", eDVBFrontendParametersSatellite.Inversion_Unknown),
cur.get("orbital_position", 0),
- { "DVB-S" : 0, "DVB-S2" : 1 }[cur.get("system", "DVB-S")],
- { "QPSK" : 1, "8PSK" : 2 }[cur.get("modulation", "QPSK")],
- { "ROLLOFF_0_35" : 0, "ROLLOFF_0_25" : 1,
- "ROLLOFF_0_20" : 2 }[cur.get("rolloff", "ROLLOFF_0_35")],
- { "PILOT_OFF" : 0, "PILOT_ON" : 1,
- "PILOT_AUTO" : 2 }[cur.get("pilot", "PILOT_AUTO")]
- )
+ cur.get("system", eDVBFrontendParametersSatellite.System_DVB_S),
+ cur.get("modulation", eDVBFrontendParametersSatellite.Modulation_QPSK),
+ cur.get("rolloff", eDVBFrontendParametersSatellite.RollOff_alpha_0_35),
+ cur.get("pilot", eDVBFrontendParametersSatellite.Pilot_Unknown))
self.tuner.tune(tp)
-
self.createConfig()
self.isMoving = False
@@ -362,7 +355,7 @@ class PositionerSetup(Screen):
self["snr_bar"].update()
self["ber_bar"].update()
self["lock_state"].update()
- transponderdata = self.tuner.getTransponderData()
+ transponderdata = ConvertToHumanReadable(self.tuner.getTransponderData())
self["frequency_value"].setText(str(transponderdata.get("frequency")))
self["symbolrate_value"].setText(str(transponderdata.get("symbol_rate")))
self["fec_value"].setText(str(transponderdata.get("fec_inner")))
@@ -413,39 +406,6 @@ class Diseqc:
sleep(0.05)
self.frontend.sendDiseqc(cmd) # send 2nd time
-class Tuner:
- def __init__(self, frontend):
- self.frontend = frontend
-
- def tune(self, transponder):
- print "tuning to transponder with data", transponder
- parm = eDVBFrontendParametersSatellite()
- parm.frequency = transponder[0] * 1000
- parm.symbol_rate = transponder[1] * 1000
- parm.polarisation = transponder[2]
- parm.fec = transponder[3]
- parm.inversion = transponder[4]
- parm.orbital_position = transponder[5]
- parm.system = transponder[6]
- parm.modulation = transponder[7]
- parm.rolloff = transponder[8]
- parm.pilot = transponder[9]
- feparm = eDVBFrontendParameters()
- feparm.setDVBS(parm, True)
- self.lastparm = feparm
- if self.frontend:
- self.frontend.tune(feparm)
-
- def retune(self):
- if self.frontend:
- self.frontend.tune(self.lastparm)
-
- def getTransponderData(self):
- ret = { }
- if self.frontend:
- self.frontend.getTransponderData(ret, True)
- return ret
-
tuning = None
class TunerScreen(ScanSetup):
@@ -478,14 +438,14 @@ class TunerScreen(ScanSetup):
self.list.append(self.systemEntry)
else:
# downgrade to dvb-s, in case a -s2 config was active
- self.scan_sat.system.value = "dvb-s"
+ self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
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 == "dvb-s":
+ 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 == "dvb-s2":
+ 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)
@@ -540,29 +500,29 @@ class TunerScreen(ScanSetup):
else:
pol = "??"
if x[4] == 0:
- fec = "FEC_AUTO"
+ fec = "FEC Auto"
elif x[4] == 1:
- fec = "FEC_1_2"
+ fec = "FEC 1/2"
elif x[4] == 2:
- fec = "FEC_2_3"
+ fec = "FEC 2/3"
elif x[4] == 3:
- fec = "FEC_3_4"
+ fec = "FEC 3/4"
elif x[4] == 4:
- fec = "FEC_5_6"
+ fec = "FEC 5/6"
elif x[4] == 5:
- fec = "FEC_7_8"
+ fec = "FEC 7/8"
elif x[4] == 6:
- fec = "FEC_8_9"
+ fec = "FEC 8/9"
elif x[4] == 7:
- fec = "FEC_3_5"
+ fec = "FEC 3/5"
elif x[4] == 8:
- fec = "FEC_4_5"
+ fec = "FEC 4/5"
elif x[4] == 9:
- fec = "FEC_9_10"
+ fec = "FEC 9/10"
elif x[4] == 15:
- fec = "FEC_None"
+ fec = "FEC None"
else:
- fec = "FEC_Unknown"
+ fec = "FEC Unknown"
tps.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec)
tuning.transponder = ConfigSelection(choices=tps)
@@ -570,31 +530,21 @@ class TunerScreen(ScanSetup):
returnvalue = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
satpos = int(tuning.sat.value)
if tuning.type.value == "manual_transponder":
- if self.scan_sat.system.value == "dvb-s2":
+ if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
fec = self.scan_sat.fec_s2.value
else:
fec = self.scan_sat.fec.value
returnvalue = (
self.scan_sat.frequency.value,
self.scan_sat.symbolrate.value,
- self.scan_sat.polarization.index,
- { "auto": 0,
- "1_2": 1,
- "2_3": 2,
- "3_4": 3,
- "5_6": 4,
- "7_8": 5,
- "8_9": 6,
- "3_5": 7,
- "4_5": 8,
- "9_10": 9,
- "none": 15 }[fec],
- self.scan_sat.inversion.index,
+ self.scan_sat.polarization.value,
+ fec,
+ self.scan_sat.inversion.value,
satpos,
- self.scan_sat.system.index,
- self.scan_sat.modulation.index == 1 and 2 or 1,
- self.scan_sat.rolloff.index,
- self.scan_sat.pilot.index)
+ self.scan_sat.system.value,
+ self.scan_sat.modulation.value,
+ self.scan_sat.rolloff.value,
+ self.scan_sat.pilot.value)
elif tuning.type.value == "predefined_transponder":
transponder = nimmanager.getTransponders(satpos)[tuning.transponder.index]
returnvalue = (transponder[1] / 1000, transponder[2] / 1000,
diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
index 87dc81e4..8e148812 100644
--- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
+++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
@@ -14,7 +14,6 @@ from Components.MenuList import MenuList
from Components.config import ConfigSelection, getConfigListEntry
from Components.TuneTest import Tuner
-
class Satfinder(ScanSetup):
def openFrontend(self):
res_mgr = eDVBResourceManager.getInstance()
@@ -77,14 +76,14 @@ class Satfinder(ScanSetup):
self.list.append(self.systemEntry)
else:
# downgrade to dvb-s, in case a -s2 config was active
- self.scan_sat.system.value = "dvb-s"
+ self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
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 == "dvb-s":
+ 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 == "dvb-s2":
+ 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)
@@ -111,31 +110,21 @@ class Satfinder(ScanSetup):
returnvalue = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
satpos = int(self.tuning_sat.value)
if self.tuning_type.value == "manual_transponder":
- if self.scan_sat.system.value == "dvb-s2":
+ if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
fec = self.scan_sat.fec_s2.value
else:
fec = self.scan_sat.fec.value
returnvalue = (
self.scan_sat.frequency.value,
self.scan_sat.symbolrate.value,
- self.scan_sat.polarization.index,
- { "auto": 0,
- "1_2": 1,
- "2_3": 2,
- "3_4": 3,
- "5_6": 4,
- "7_8": 5,
- "8_9": 6,
- "3_5": 7,
- "4_5": 8,
- "9_10": 9,
- "none": 15 }[fec],
- self.scan_sat.inversion.index,
+ self.scan_sat.polarization.value,
+ fec,
+ self.scan_sat.inversion.value,
satpos,
- self.scan_sat.system.index,
- self.scan_sat.modulation.index == 1 and 2 or 1,
- self.scan_sat.rolloff.index,
- self.scan_sat.pilot.index)
+ self.scan_sat.system.value,
+ self.scan_sat.modulation.value,
+ self.scan_sat.rolloff.value,
+ self.scan_sat.pilot.value)
self.tune(returnvalue)
elif self.tuning_type.value == "predefined_transponder":
tps = nimmanager.getTransponders(satpos)
@@ -179,29 +168,29 @@ class Satfinder(ScanSetup):
else:
pol = "??"
if x[4] == 0:
- fec = "FEC_AUTO"
+ fec = "FEC Auto"
elif x[4] == 1:
- fec = "FEC_1_2"
+ fec = "FEC 1/2"
elif x[4] == 2:
- fec = "FEC_2_3"
+ fec = "FEC 2/3"
elif x[4] == 3:
- fec = "FEC_3_4"
+ fec = "FEC 3/4"
elif x[4] == 4:
- fec = "FEC_5_6"
+ fec = "FEC 5/6"
elif x[4] == 5:
- fec = "FEC_7_8"
+ fec = "FEC 7/8"
elif x[4] == 6:
- fec = "FEC_8_9"
+ fec = "FEC 8/9"
elif x[4] == 7:
- fec = "FEC_3_5"
+ fec = "FEC 3/5"
elif x[4] == 8:
- fec = "FEC_4_5"
+ fec = "FEC 4/5"
elif x[4] == 9:
- fec = "FEC_9_10"
+ fec = "FEC 9/10"
elif x[4] == 15:
- fec = "FEC_None"
+ fec = "FEC None"
else:
- fec = "FEC_Unknown"
+ fec = "FEC Unknown"
e = str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec
if default is None:
default = e
diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py
index f32904a1..7089074a 100644
--- a/lib/python/Screens/ScanSetup.py
+++ b/lib/python/Screens/ScanSetup.py
@@ -17,64 +17,17 @@ def buildTerTransponder(frequency,
inversion=2, bandwidth = 3, fechigh = 6, feclow = 6,
modulation = 2, transmission = 2, guard = 4,
hierarchy = 4):
-
# print "freq", frequency, "inv", inversion, "bw", bandwidth, "fech", fechigh, "fecl", feclow, "mod", modulation, "tm", transmission, "guard", guard, "hierarchy", hierarchy
-
- # WARNING: normally, enums are working directly.
- # Don't copy this (very bad)!! Instead either fix swig (good) or
- # move this into a central place.
- Bw8MHz = 0
- Bw7MHz = 1
- Bw6MHz = 2
- #Bw5MHz = 3 #not implemented for e1 compatibilty
- BwAuto = 3
-
- f1_2 = 0
- f2_3 = 1
- f3_4 = 2
- f5_6 = 3
- f7_8 = 4
- fAuto = 5
-
- TM2k = 0
- TM8k = 1
- #TM4k = 2 #not implemented for e1 compatibilty
- TMAuto = 2
-
- GI_1_32 = 0
- GI_1_16 = 1
- GI_1_8 = 2
- GI_1_4 = 3
- GI_Auto = 4
-
- HNone = 0
- H1 = 1
- H2 = 2
- H4 = 3
- HAuto = 4
-
- QPSK = 0
- QAM16 = 1
- QAM64 = 2
- Auto = 3
-
- Off = 0
- On = 1
- Unknown = 2
-
parm = eDVBFrontendParametersTerrestrial()
-
parm.frequency = frequency
-
- parm.inversion = [Off, On, Unknown][inversion]
- parm.bandwidth = [Bw8MHz, Bw7MHz, Bw6MHz, BwAuto][bandwidth] # Bw5MHz unsupported
- parm.code_rate_HP = [f1_2, f2_3, f3_4, f5_6, f7_8, fAuto][fechigh]
- parm.code_rate_LP = [f1_2, f2_3, f3_4, f5_6, f7_8, fAuto][feclow]
- parm.modulation = [QPSK, QAM16, QAM64, Auto][modulation]
- parm.transmission_mode = [TM2k, TM8k, TMAuto][transmission] # TM4k unsupported
- parm.guard_interval = [GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_Auto][guard]
- parm.hierarchy = [HNone, H1, H2, H4, HAuto][hierarchy]
-
+ parm.inversion = inversion
+ parm.bandwidth = bandwidth
+ parm.code_rate_HP = fechigh
+ parm.code_rate_LP = feclow
+ parm.modulation = modulation
+ parm.transmission_mode = transmission
+ parm.guard_interval = guard
+ parm.hierarchy = hierarchy
return parm
def getInitialTransponderList(tlist, pos):
@@ -103,7 +56,7 @@ def getInitialCableTransponderList(tlist, nim):
parm.symbol_rate = x[2]
parm.modulation = x[3]
parm.fec_inner = x[4]
- parm.inversion = 2 # AUTO
+ parm.inversion = parm.Inversion_Unknown
#print "frequency:", x[1]
#print "symbol_rate:", x[2]
#print "modulation:", x[3]
@@ -178,10 +131,22 @@ class CableTransponderSearchSupport:
if len(data):
if data[0] == 'OK':
print str
- qam = { "QAM16" : 1, "QAM32" : 2, "QAM64" : 3, "QAM128" : 4, "QAM256" : 5 }
- inv = { "INVERSION_OFF" : 0, "INVERSION_ON" : 1 }
- fec = { "FEC_AUTO" : 0, "FEC_1_2" : 1, "FEC_2_3" : 2, "FEC_3_4" : 3, "FEC_5_6": 4, "FEC_7_8" : 5, "FEC_8_9" : 6, "FEC_NONE" : 15 }
parm = eDVBFrontendParametersCable()
+ qam = { "QAM16" : parm.Modulation_QAM16,
+ "QAM32" : parm.Modulation_QAM32,
+ "QAM64" : parm.Modulation_QAM64,
+ "QAM128" : parm.Modulation_QAM128,
+ "QAM256" : parm.Modulation_QAM256 }
+ inv = { "INVERSION_OFF" : parm.Inversion_Off,
+ "INVERSION_ON" : parm.Inversion_On }
+ fec = { "FEC_AUTO" : parm.FEC_Auto,
+ "FEC_1_2" : parm.FEC_1_2,
+ "FEC_2_3" : parm.FEC_2_3,
+ "FEC_3_4" : parm.FEC_3_4,
+ "FEC_5_6": parm.FEC_5_6,
+ "FEC_7_8" : parm.FEC_7_8,
+ "FEC_8_9" : parm.FEC_8_9,
+ "FEC_NONE" : parm.FEC_None }
parm.frequency = int(data[1])
parm.symbol_rate = int(data[2])
parm.fec_inner = fec[data[3]]
@@ -381,15 +346,15 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
self.list.append(self.systemEntry)
else:
# downgrade to dvb-s, in case a -s2 config was active
- self.scan_sat.system.value = "dvb-s"
+ 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 == "dvb-s":
+ 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 == "dvb-s2":
+ 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)
@@ -447,7 +412,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
if cur == self.typeOfScanEntry or \
cur == self.tunerEntry or \
cur == self.systemEntry or \
- (self.modulationEntry and self.systemEntry[1].value == "dvb-s2" and cur == self.modulationEntry):
+ (self.modulationEntry and self.systemEntry[1].value == eDVBFrontendParametersSatellite.System_DVB_S2 and cur == self.modulationEntry):
self.createSetup()
def createConfig(self, frontendData):
@@ -481,34 +446,65 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
#("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": "dvb-s", "frequency": 11836, "inversion": "auto", "symbolrate": 27500, "polarization": "horizontal", "fec": "auto", "fec_s2": "9_10", "modulation": "qpsk" }
- defaultCab = {"frequency": 466, "inversion": "auto", "modulation": "64qam", "fec": "auto", "symbolrate": 6900}
+ 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"] = {"DVB-S": "dvb-s", "DVB-S2": "dvb-s2"}[frontendData.get("system", "DVB-S")]
+ defaultSat["system"] = frontendData.get("system", eDVBFrontendParametersSatellite.System_DVB_S)
defaultSat["frequency"] = frontendData.get("frequency", 0) / 1000
- defaultSat["inversion"] = {"INVERSION_OFF": "off", "INVERSION_ON": "on", "INVERSION_AUTO": "auto"}[frontendData.get("inversion", "INVERSION_AUTO")]
+ defaultSat["inversion"] = frontendData.get("inversion", eDVBFrontendParametersSatellite.Inversion_Unknown)
defaultSat["symbolrate"] = frontendData.get("symbol_rate", 0) / 1000
- defaultSat["polarization"] = {"HORIZONTAL": "horizontal", "VERTICAL": "vertical", "CIRCULAR_LEFT": "circular_left", "CIRCULAR_RIGHT": "circular_right", "UNKNOWN": None}[frontendData.get("polarization", "HORIZONTAL")]
-
- if frontendData.get("system", "DVB-S") == "DVB-S2":
- defaultSat["fec_s2"] = {"FEC_1_2": "1_2", "FEC_2_3": "2_3", "FEC_3_4": "3_4", "FEC_4_5": "4_5", "FEC_5_6": "5_6", "FEC_7_8": "7_8", "FEC_8_9": "8_9", "FEC_9_10": "9_10"} \
- [frontendData.get("fec_inner", "FEC_AUTO")]
- defaultSat["rolloff"] = {"ROLLOFF_0_35" : "0_35", "ROLLOFF_0_25" : "0_25", "ROLLOFF_0_20" : "0_20"}[frontendData.get("rolloff", "ROLLOFF_0_35")]
- defaultSat["pilot"] = {"PILOT_ON" : "on", "PILOT_OFF" : "off", "PILOT_AUTO" : "auto"}[frontendData.get("pilot", "PILOT_AUTO")]
+ 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"] = {"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_NONE": "none"} \
- [frontendData.get("fec_inner", "FEC_AUTO")]
-
- defaultSat["modulation"] = {"QPSK": "qpsk", "8PSK": "8psk"}[frontendData.get("modulation", "QPSK")]
+ 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"] = {"INVERSION_OFF": "off", "INVERSION_ON": "on", "INVERSION_AUTO": "auto"}[frontendData.get("inversion", "INVERSION_AUTO")]
- 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.get("fec_inner", "FEC_AUTO")]
- defaultCab["modulation"] = {"QAM_AUTO": "auto", "QAM_16": "16qam", "QAM_32": "32qam", "QAM_64": "64qam", "QAM_128": "128qam", "QAM_256": "256qam"}[frontendData.get("modulation", "QAM_16")]
+ 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()
@@ -538,36 +534,120 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
self.scan_ber.enabled = False
# sat
- self.scan_sat.system = ConfigSelection(default = defaultSat["system"], choices = [("dvb-s", _("DVB-S")), ("dvb-s2", _("DVB-S2"))])
+ 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 = [("off", _("off")), ("on", _("on")), ("auto", _("Auto"))])
+ 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 = [("horizontal", _("horizontal")), ("vertical", _("vertical")), ("circular_left", _("circular left")), ("circular_right", _("circular right"))])
- self.scan_sat.fec = ConfigSelection(default = defaultSat["fec"], choices = [("auto", _("Auto")), ("1_2", "1/2"), ("2_3", "2/3"), ("3_4", "3/4"), ("5_6", "5/6"), ("7_8", "7/8"), ("none", _("None"))])
- self.scan_sat.fec_s2 = ConfigSelection(default = defaultSat["fec_s2"], choices = [("1_2", "1/2"), ("2_3", "2/3"), ("3_4", "3/4"), ("3_5", "3/5"), ("4_5", "4/5"), ("5_6", "5/6"), ("7_8", "7/8"), ("8_9", "8/9"), ("9_10", "9/10")])
- self.scan_sat.modulation = ConfigSelection(default = defaultSat["modulation"], choices = [("qpsk", "QPSK"), ("8psk", "8PSK")])
- self.scan_sat.rolloff = ConfigSelection(default = defaultSat.get("rolloff", "0_35"), choices = [("0_35", "0.35"), ("0_25", "0.25"), ("0_20", "0.20")])
- self.scan_sat.pilot = ConfigSelection(default = defaultSat.get("pilot", "auto"), choices = [("off", _("off")), ("on", _("on")), ("auto", _("Auto"))])
+ 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 = [("off", _("off")), ("on", _("on")), ("auto", _("Auto"))])
- self.scan_cab.modulation = ConfigSelection(default = defaultCab["modulation"], choices = [("16qam", "16-QAM"), ("32qam", "32-QAM"), ("64qam", "64-QAM"), ("128qam", "128-QAM"), ("256qam", "256-QAM")])
- self.scan_cab.fec = ConfigSelection(default = defaultCab["fec"], choices = [("auto", _("Auto")), ("1_2", "1/2"), ("2_3", "2/3"), ("3_4", "3/4"), ("5_6", "5/6"), ("7_8", "7/8"), ("8_9", "8/9"), ("none", _("None"))])
+ 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 = "auto", choices = [("off", _("off")), ("on", _("on")), ("auto", _("Auto"))])
+ 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 = "8MHz", choices = [("8MHz", "8MHz"), ("7MHz", "7MHz"), ("6MHz", "6MHz")])
- #, ("auto", _("Auto"))))
- self.scan_ter.fechigh = ConfigSelection(default = "auto", choices = [("1_2", "1/2"), ("2_3", "2/3"), ("3_4", "3/4"), ("5_6", "5/6"), ("7_8", "7/8"), ("auto", _("Auto"))])
- self.scan_ter.feclow = ConfigSelection(default = "auto", choices = [("1_2", "1/2"), ("2_3", "2/3"), ("3_4", "3/4"), ("5_6", "5/6"), ("7_8", "7/8"), ("auto", _("Auto"))])
- self.scan_ter.modulation = ConfigSelection(default = "auto", choices = [("qpsk", "QPSK"), ("qam16", "QAM16"), ("qam64", "QAM64"), ("auto", _("Auto"))])
- self.scan_ter.transmission = ConfigSelection(default = "auto", choices = [("2k", "2K"), ("8k", "8K"), ("auto", _("Auto"))])
- self.scan_ter.guard = ConfigSelection(default = "auto", choices = [("1_32", "1/32"), ("1_16", "1/16"), ("1_8", "1/8"), ("1_4", "1/4"), ("auto", _("Auto"))])
- self.scan_ter.hierarchy = ConfigSelection(default = "auto", choices = [("none", _("None")), ("1", "1"), ("2", "2"), ("4", "4"), ("auto", _("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:
@@ -594,32 +674,16 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
def updateStatus(self):
print "updatestatus"
- fecmap = { "auto": 0,
- "1_2": 1,
- "2_3": 2,
- "3_4": 3,
- "5_6": 4,
- "7_8": 5,
- "8_9": 6,
- "3_5": 7,
- "4_5": 8,
- "9_10": 9,
- "none": 15
- }
-
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(self.fecmap[fec]) + " inversion: " + str(inversion) + " modulation: " + str(modulation) + " system: " + str(system) + " rolloff" + str(rolloff) + " pilot" + str(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)
print "orbpos: " + str(orbital_position)
parm = eDVBFrontendParametersSatellite()
- if modulation == 1:
- parm.modulation = 2 # eDVBFrontendParametersSatellite.Modulation.8PSK
- else:
- parm.modulation = 1 # eDVBFrontendParametersSatellite.Modulation.QPSK
+ parm.modulation = modulation
parm.system = system
parm.frequency = frequency * 1000
parm.symbol_rate = symbol_rate * 1000
parm.polarisation = polarisation
- parm.fec = self.fecmap[fec]
+ parm.fec = fec
parm.inversion = inversion
parm.orbital_position = orbital_position
parm.rolloff = rolloff
@@ -632,7 +696,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
parm.frequency = frequency * 1000
parm.symbol_rate = symbol_rate * 1000
parm.modulation = modulation
- parm.fec = self.fecmap[fec]
+ parm.fec = fec
parm.inversion = inversion
tlist.append(parm)
@@ -665,21 +729,21 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
# however, the satList itself could be empty. in that case, "index" is 0 (for "None").
if len(nimsats):
orbpos = nimsats[selsatidx][0]
- if self.scan_sat.system.value == "dvb-s":
+ if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
fec = self.scan_sat.fec.value
else:
fec = self.scan_sat.fec_s2.value
print "add sat transponder"
self.addSatTransponder(tlist, self.scan_sat.frequency.value,
self.scan_sat.symbolrate.value,
- self.scan_sat.polarization.index,
+ self.scan_sat.polarization.value,
fec,
- self.scan_sat.inversion.index,
+ self.scan_sat.inversion.value,
orbpos,
- self.scan_sat.system.index,
- self.scan_sat.modulation.index,
- self.scan_sat.rolloff.index,
- self.scan_sat.pilot.index)
+ self.scan_sat.system.value,
+ self.scan_sat.modulation.value,
+ self.scan_sat.rolloff.value,
+ self.scan_sat.pilot.value)
removeAll = False
elif self.scan_type.value == "single_satellite":
sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index]
@@ -693,12 +757,11 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
elif nim.isCompatible("DVB-C"):
if self.scan_typecable.value == "single_transponder":
- fec = self.scan_cab.fec.value
self.addCabTransponder(tlist, self.scan_cab.frequency.value,
self.scan_cab.symbolrate.value,
- self.scan_cab.modulation.index + 1,
- fec,
- self.scan_cab.inversion.index)
+ self.scan_cab.modulation.value,
+ self.scan_cab.fec.value,
+ self.scan_cab.inversion.value)
removeAll = False
elif self.scan_typecable.value == "complete":
if config.Nims[index_to_scan].cable.scan_type.value == "provider":
@@ -710,14 +773,14 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
if self.scan_typeterrestrial.value == "single_transponder":
self.addTerTransponder(tlist,
self.scan_ter.frequency.value * 1000,
- inversion = self.scan_ter.inversion.index,
- bandwidth = self.scan_ter.bandwidth.index,
- fechigh = self.scan_ter.fechigh.index,
- feclow = self.scan_ter.feclow.index,
- modulation = self.scan_ter.modulation.index,
- transmission = self.scan_ter.transmission.index,
- guard = self.scan_ter.guard.index,
- hierarchy = self.scan_ter.hierarchy.index)
+ 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)
removeAll = False
elif self.scan_typeterrestrial.value == "complete":
getInitialTerrestrialTransponderList(tlist, nimmanager.getTerrestrialDescription(index_to_scan))
diff --git a/lib/python/Screens/ServiceInfo.py b/lib/python/Screens/ServiceInfo.py
index 4606f883..e07b3208 100644
--- a/lib/python/Screens/ServiceInfo.py
+++ b/lib/python/Screens/ServiceInfo.py
@@ -5,6 +5,7 @@ from Components.ActionMap import ActionMap
from Components.Label import Label
from ServiceReference import ServiceReference
from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation, eServiceCenter
+from Tools.Transponder import ConvertToHumanReadable
RT_HALIGN_LEFT = 0
@@ -131,27 +132,28 @@ class ServiceInfo(Screen):
self.fillList(Labels)
else:
if self.transponder_info:
- conv = { "type" : _("Transponder Type"),
+ tp_info = ConvertToHumanReadable(self.transponder_info)
+ conv = { "tuner_type" : _("Transponder Type"),
"system" : _("System"),
"modulation" : _("Modulation"),
- "orbital position" : _("Orbital Position"),
+ "orbital_position" : _("Orbital Position"),
"frequency" : _("Frequency"),
- "symbolrate" : _("Symbolrate"),
+ "symbol_rate" : _("Symbolrate"),
"bandwidth" : _("Bandwidth"),
"polarization" : _("Polarization"),
"inversion" : _("Inversion"),
"pilot" : _("Pilot"),
- "roll off" : _("Rolloff"),
- "fec inner" : _("FEC"),
- "code rate lp" : _("Coderate LP"),
- "code rate hp" : _("Coderate HP"),
+ "rolloff" : _("Rolloff"),
+ "fec_inner" : _("FEC"),
+ "code_rate_lp" : _("Coderate LP"),
+ "code_rate_hp" : _("Coderate HP"),
"constellation" : _("Constellation"),
- "transmission mode": _("Transmission Mode"),
- "guard interval" : _("Guard Interval"),
- "hierarchy" : _("Hierarchy Information") }
+ "transmission_mode": _("Transmission Mode"),
+ "guard_interval" : _("Guard Interval"),
+ "hierarchy_information": _("Hierarchy Information") }
Labels = [ ]
- for i in self.transponder_info.keys():
- Labels.append( (conv[i], self.transponder_info[i], TYPE_TEXT) )
+ for i in tp_info.keys():
+ Labels.append( (conv[i], tp_info[i], TYPE_VALUE_DEC) )
self.fillList(Labels)
def pids(self):
@@ -180,9 +182,10 @@ class ServiceInfo(Screen):
if self.type == TYPE_SERVICE_INFO:
self.showFrontendData(False)
- def getFEData(self, frontendData):
- if frontendData and len(frontendData):
- if frontendData["tuner_type"] == "DVB-S":
+ def getFEData(self, frontendDataOrg):
+ if frontendDataOrg and len(frontendDataOrg):
+ frontendData = ConvertToHumanReadable(frontendDataOrg)
+ if frontendDataOrg["tuner_type"] == "DVB-S":
return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["system"], TYPE_TEXT),
("Modulation", frontendData["modulation"], TYPE_TEXT),
@@ -194,7 +197,7 @@ class ServiceInfo(Screen):
("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-C":
+ elif frontendDataOrg["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),
@@ -202,7 +205,7 @@ class ServiceInfo(Screen):
("Modulation", frontendData["modulation"], TYPE_TEXT),
("Inversion", frontendData["inversion"], TYPE_TEXT),
("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-T":
+ elif frontendDataOrg["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),
diff --git a/lib/python/Tools/Makefile.am b/lib/python/Tools/Makefile.am
index 609f3bab..5617cb66 100644
--- a/lib/python/Tools/Makefile.am
+++ b/lib/python/Tools/Makefile.am
@@ -4,4 +4,4 @@ install_PYTHON = \
FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \
KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \
RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \
- LoadPixmap.py Profile.py HardwareInfo.py
+ LoadPixmap.py Profile.py HardwareInfo.py Transponder.py
diff --git a/lib/python/Tools/Transponder.py b/lib/python/Tools/Transponder.py
new file mode 100644
index 00000000..f37603c5
--- /dev/null
+++ b/lib/python/Tools/Transponder.py
@@ -0,0 +1,117 @@
+from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
+
+def ConvertToHumanReadable(tp):
+ ret = { }
+ type = tp.get("tuner_type", "None")
+ if type == "DVB-S":
+ ret["tuner_type"] = _("Satellite")
+ ret["inversion"] = {
+ eDVBFrontendParametersSatellite.Inversion_Unknown : _("Auto"),
+ eDVBFrontendParametersSatellite.Inversion_On : _("On"),
+ eDVBFrontendParametersSatellite.Inversion_Off : _("Off")}[tp["inversion"]]
+ ret["fec_inner"] = {
+ eDVBFrontendParametersSatellite.FEC_None : _("None"),
+ 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_3_5 : "3/5",
+ eDVBFrontendParametersSatellite.FEC_4_5 : "4/5",
+ eDVBFrontendParametersSatellite.FEC_8_9 : "8/9",
+ eDVBFrontendParametersSatellite.FEC_9_10 : "9/10"}[tp["fec_inner"]]
+ ret["modulation"] = {
+ eDVBFrontendParametersSatellite.Modulation_Auto : _("Auto"),
+ eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
+ eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
+ eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK"}[tp["modulation"]]
+ ret["polarization"] = {
+ eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
+ eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
+ eDVBFrontendParametersSatellite.Polarisation_CircularLeft : _("Circular left"),
+ eDVBFrontendParametersSatellite.Polarisation_CircularRight : _("Circular right")}[tp["polarization"]]
+ ret["system"] = {
+ eDVBFrontendParametersSatellite.System_DVB_S : "DVB-S",
+ eDVBFrontendParametersSatellite.System_DVB_S2 : "DVB-S2"}[tp["system"]]
+ if ret["system"] == "DVB-S2":
+ ret["rolloff"] = {
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_35 : "0.35",
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_25 : "0.25",
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_20 : "0.20"}[tp["rolloff"]]
+ ret["pilot"] = {
+ eDVBFrontendParametersSatellite.Pilot_Unknown : _("Auto"),
+ eDVBFrontendParametersSatellite.Pilot_On : _("On"),
+ eDVBFrontendParametersSatellite.Pilot_Off : _("Off")}[tp["pilot"]]
+ elif type == "DVB-C":
+ ret["tuner_type"] = _("Cable")
+ ret["modulation"] = {
+ eDVBFrontendParametersCable.Modulation_Auto: _("Auto"),
+ eDVBFrontendParametersCable.Modulation_QAM16 : "QAM16",
+ eDVBFrontendParametersCable.Modulation_QAM32 : "QAM32",
+ eDVBFrontendParametersCable.Modulation_QAM64 : "QAM64",
+ eDVBFrontendParametersCable.Modulation_QAM128 : "QAM128",
+ eDVBFrontendParametersCable.Modulation_QAM256 : "QAM256"}[tp["modulation"]]
+ ret["inversion"] = {
+ eDVBFrontendParametersCable.Inversion_Unknown : _("Auto"),
+ eDVBFrontendParametersCable.Inversion_On : _("On"),
+ eDVBFrontendParametersCable.Inversion_Off : _("Off")}[tp["inversion"]]
+ ret["fec_inner"] = {
+ eDVBFrontendParametersCable.FEC_None : _("None"),
+ 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"}[tp["fec_inner"]]
+ elif type == "DVB-T":
+ ret["tuner_type"] = _("Terrestrial")
+ ret["bandwidth"] = {
+ eDVBFrontendParametersTerrestrial.Bandwidth_Auto : _("Auto"),
+ eDVBFrontendParametersTerrestrial.Bandwidth_8MHz : "8 MHz",
+ eDVBFrontendParametersTerrestrial.Bandwidth_7MHz : "7 MHz",
+ eDVBFrontendParametersTerrestrial.Bandwidth_6MHz : "6 MHz"}[tp["bandwidth"]]
+ ret["code_rate_lp"] = {
+ eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
+ 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"}[tp["code_rate_lp"]]
+ ret["code_rate_hp"] = {
+ eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
+ 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"}[tp["code_rate_hp"]]
+ ret["constellation"] = {
+ eDVBFrontendParametersTerrestrial.Modulation_Auto : _("Auto"),
+ eDVBFrontendParametersTerrestrial.Modulation_QPSK : "QPSK",
+ eDVBFrontendParametersTerrestrial.Modulation_QAM16 : "QAM16",
+ eDVBFrontendParametersTerrestrial.Modulation_QAM64 : "QAM64"}[tp["constellation"]]
+ ret["transmission_mode"] = {
+ eDVBFrontendParametersTerrestrial.TransmissionMode_Auto : _("Auto"),
+ eDVBFrontendParametersTerrestrial.TransmissionMode_2k : "2k",
+ eDVBFrontendParametersTerrestrial.TransmissionMode_8k : "8k"}[tp["transmission_mode"]]
+ ret["guard_interval"] = {
+ eDVBFrontendParametersTerrestrial.GuardInterval_Auto : _("Auto"),
+ eDVBFrontendParametersTerrestrial.GuardInterval_1_32 : "1/32",
+ eDVBFrontendParametersTerrestrial.GuardInterval_1_16 : "1/16",
+ eDVBFrontendParametersTerrestrial.GuardInterval_1_8 : "1/8",
+ eDVBFrontendParametersTerrestrial.GuardInterval_1_4 : "1/4"}[tp["guard_interval"]]
+ ret["hierarchy_information"] = {
+ eDVBFrontendParametersTerrestrial.Hierarchy_Auto : _("Auto"),
+ eDVBFrontendParametersTerrestrial.Hierarchy_None : _("None"),
+ eDVBFrontendParametersTerrestrial.Hierarchy_1 : "1",
+ eDVBFrontendParametersTerrestrial.Hierarchy_2 : "2",
+ eDVBFrontendParametersTerrestrial.Hierarchy_4 : "4"}[tp["hierarchy_information"]]
+ ret["inversion"] = {
+ eDVBFrontendParametersTerrestrial.Inversion_Unknown : _("Auto"),
+ eDVBFrontendParametersTerrestrial.Inversion_On : _("On"),
+ eDVBFrontendParametersTerrestrial.Inversion_Off : _("Off")}[tp["inversion"]]
+ for x in tp.keys():
+ if not ret.has_key(x):
+ ret[x] = tp[x]
+ return ret