Support turbo2.
[vuplus_dvbapp] / lib / python / Tools / Transponder.py
1 from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
2 from Components.NimManager import nimmanager
3
4 def ConvertToHumanReadable(tp, type = None):
5         ret = { }
6         if type is None:
7                 type = tp.get("tuner_type", "None")
8         if type == "DVB-S":
9                 ret["tuner_type"] = _("Satellite")
10                 ret["inversion"] = {
11                         eDVBFrontendParametersSatellite.Inversion_Unknown : _("Auto"),
12                         eDVBFrontendParametersSatellite.Inversion_On : _("On"),
13                         eDVBFrontendParametersSatellite.Inversion_Off : _("Off")}[tp["inversion"]]
14                 ret["fec_inner"] = {
15                         eDVBFrontendParametersSatellite.FEC_None : _("None"),
16                         eDVBFrontendParametersSatellite.FEC_Auto : _("Auto"),
17                         eDVBFrontendParametersSatellite.FEC_1_2 : "1/2",
18                         eDVBFrontendParametersSatellite.FEC_2_3 : "2/3",
19                         eDVBFrontendParametersSatellite.FEC_3_4 : "3/4",
20                         eDVBFrontendParametersSatellite.FEC_5_6 : "5/6",
21                         eDVBFrontendParametersSatellite.FEC_7_8 : "7/8",
22                         eDVBFrontendParametersSatellite.FEC_3_5 : "3/5",
23                         eDVBFrontendParametersSatellite.FEC_4_5 : "4/5",
24                         eDVBFrontendParametersSatellite.FEC_8_9 : "8/9",
25                         eDVBFrontendParametersSatellite.FEC_9_10 : "9/10",
26                         eDVBFrontendParametersSatellite.FEC_13_45 : "13/45",
27                         eDVBFrontendParametersSatellite.FEC_9_20 : "9/20",
28                         eDVBFrontendParametersSatellite.FEC_11_20 : "11/20",
29                         eDVBFrontendParametersSatellite.FEC_23_36 : "23/36",
30                         eDVBFrontendParametersSatellite.FEC_25_36 : "25/36",
31                         eDVBFrontendParametersSatellite.FEC_13_18 : "13/18",
32                         eDVBFrontendParametersSatellite.FEC_26_45 : "26/45",
33                         eDVBFrontendParametersSatellite.FEC_28_45 : "28/45",
34                         eDVBFrontendParametersSatellite.FEC_7_9 : "7/9",
35                         eDVBFrontendParametersSatellite.FEC_77_90 : "77/90",
36                         eDVBFrontendParametersSatellite.FEC_32_45 : "32/45",
37                         eDVBFrontendParametersSatellite.FEC_11_15 : "11/15",
38                         eDVBFrontendParametersSatellite.FEC_1_2_L : "1/2-L",
39                         eDVBFrontendParametersSatellite.FEC_8_15_L : "8/15-L",
40                         eDVBFrontendParametersSatellite.FEC_3_5_L : "3/5-L",
41                         eDVBFrontendParametersSatellite.FEC_2_3_L : "2/3-L",
42                         eDVBFrontendParametersSatellite.FEC_5_9_L : "5/9-L",
43                         eDVBFrontendParametersSatellite.FEC_26_45_L : "26/45-L"}[tp["fec_inner"]]
44                 ret["modulation"] = {
45                         eDVBFrontendParametersSatellite.Modulation_Auto : _("Auto"),
46                         eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
47                         eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
48                         eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK",
49                         eDVBFrontendParametersSatellite.Modulation_16APSK : "16APSK",
50                         eDVBFrontendParametersSatellite.Modulation_32APSK : "32APSK",
51                         eDVBFrontendParametersSatellite.Modulation_8APSK : "8APSK",
52                         }[tp["modulation"]]
53                 ret["orbital_position"] = nimmanager.getSatName(int(tp["orbital_position"]))
54                 ret["polarization"] = {
55                         eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
56                         eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
57                         eDVBFrontendParametersSatellite.Polarisation_CircularLeft : _("Circular left"),
58                         eDVBFrontendParametersSatellite.Polarisation_CircularRight : _("Circular right")}[tp["polarization"]]
59                 ret["system"] = {
60                         eDVBFrontendParametersSatellite.System_DVB_S : "DVB-S",
61                         eDVBFrontendParametersSatellite.System_DVB_S2 : "DVB-S2",
62                         eDVBFrontendParametersSatellite.System_DVB_S2X : "DVB-S2X"}[tp["system"]]
63                 if ret["system"] in ("DVB-S2", "DVB-S2X"):
64                         ret["rolloff"] = {
65                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_35 : "0.35",
66                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_25 : "0.25",
67                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_20 : "0.20"}[tp["rolloff"]]
68                         ret["pilot"] = {
69                                 eDVBFrontendParametersSatellite.Pilot_Unknown : _("Auto"),
70                                 eDVBFrontendParametersSatellite.Pilot_On : _("On"),
71                                 eDVBFrontendParametersSatellite.Pilot_Off : _("Off")}[tp["pilot"]]
72                         ret["pls_mode"] = {
73                                 eDVBFrontendParametersSatellite.PLS_Root : _("Root"),
74                                 eDVBFrontendParametersSatellite.PLS_Gold : _("Gold"),
75                                 eDVBFrontendParametersSatellite.PLS_Combo : _("Combo"),
76                                 eDVBFrontendParametersSatellite.PLS_Unknown : _("Auto")}.get(tp.get("pls_mode"))
77                         #ret["is_id"] = tp.get("is_id")
78                         #ret["pls_code"] = tp.get("pls_code")
79                 else:
80                         ret["pls_mode"] = None
81                         ret["is_id"] = None
82                         ret["pls_code"] = None
83         elif type == "DVB-C":
84                 ret["tuner_type"] = _("Cable")
85                 ret["modulation"] = {
86                         eDVBFrontendParametersCable.Modulation_Auto: _("Auto"),
87                         eDVBFrontendParametersCable.Modulation_QAM16 : "QAM16",
88                         eDVBFrontendParametersCable.Modulation_QAM32 : "QAM32",
89                         eDVBFrontendParametersCable.Modulation_QAM64 : "QAM64",
90                         eDVBFrontendParametersCable.Modulation_QAM128 : "QAM128",
91                         eDVBFrontendParametersCable.Modulation_QAM256 : "QAM256"}[tp["modulation"]]
92                 ret["inversion"] = {
93                         eDVBFrontendParametersCable.Inversion_Unknown : _("Auto"),
94                         eDVBFrontendParametersCable.Inversion_On : _("On"),
95                         eDVBFrontendParametersCable.Inversion_Off : _("Off")}[tp["inversion"]]
96                 ret["fec_inner"] = {
97                         eDVBFrontendParametersCable.FEC_None : _("None"),
98                         eDVBFrontendParametersCable.FEC_Auto : _("Auto"),
99                         eDVBFrontendParametersCable.FEC_1_2 : "1/2",
100                         eDVBFrontendParametersCable.FEC_2_3 : "2/3",
101                         eDVBFrontendParametersCable.FEC_3_4 : "3/4",
102                         eDVBFrontendParametersCable.FEC_5_6 : "5/6",
103                         eDVBFrontendParametersCable.FEC_7_8 : "7/8",
104                         eDVBFrontendParametersCable.FEC_8_9 : "8/9"}[tp["fec_inner"]]
105         elif type == "DVB-T":
106                 ret["tuner_type"] = _("Terrestrial")
107                 ret["bandwidth"] = {
108                         eDVBFrontendParametersTerrestrial.Bandwidth_Auto : _("Auto"),
109                         eDVBFrontendParametersTerrestrial.Bandwidth_10MHz : "10 MHz",
110                         eDVBFrontendParametersTerrestrial.Bandwidth_8MHz : "8 MHz",
111                         eDVBFrontendParametersTerrestrial.Bandwidth_7MHz : "7 MHz",
112                         eDVBFrontendParametersTerrestrial.Bandwidth_6MHz : "6 MHz",
113                         eDVBFrontendParametersTerrestrial.Bandwidth_5MHz : "5 MHz",
114                         eDVBFrontendParametersTerrestrial.Bandwidth_1_712MHz : "1.172 MHz"}[tp["bandwidth"]]
115                 ret["code_rate_lp"] = {
116                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
117                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
118                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
119                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
120                         eDVBFrontendParametersTerrestrial.FEC_4_5 : "4/5",
121                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
122                         eDVBFrontendParametersTerrestrial.FEC_6_7 : "6/7",
123                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8",
124                         eDVBFrontendParametersTerrestrial.FEC_8_9 : "8/9"}[tp["code_rate_lp"]]
125                 ret["code_rate_hp"] = {
126                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
127                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
128                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
129                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
130                         eDVBFrontendParametersTerrestrial.FEC_4_5 : "4/5",
131                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
132                         eDVBFrontendParametersTerrestrial.FEC_6_7 : "6/7",
133                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8",
134                         eDVBFrontendParametersTerrestrial.FEC_8_9 : "8/9"}[tp["code_rate_hp"]]
135                 ret["constellation"] = {
136                         eDVBFrontendParametersTerrestrial.Modulation_Auto : _("Auto"),
137                         eDVBFrontendParametersTerrestrial.Modulation_QPSK : "QPSK",
138                         eDVBFrontendParametersTerrestrial.Modulation_QAM16 : "QAM16",
139                         eDVBFrontendParametersTerrestrial.Modulation_QAM64 : "QAM64",
140                         eDVBFrontendParametersTerrestrial.Modulation_QAM256 : "QAM256"}[tp["constellation"]]
141                 ret["transmission_mode"] = {
142                         eDVBFrontendParametersTerrestrial.TransmissionMode_Auto : _("Auto"),
143                         eDVBFrontendParametersTerrestrial.TransmissionMode_1k : "1k",
144                         eDVBFrontendParametersTerrestrial.TransmissionMode_2k : "2k",
145                         eDVBFrontendParametersTerrestrial.TransmissionMode_4k : "4k",
146                         eDVBFrontendParametersTerrestrial.TransmissionMode_8k : "8k",
147                         eDVBFrontendParametersTerrestrial.TransmissionMode_16k : "16k",
148                         eDVBFrontendParametersTerrestrial.TransmissionMode_32k : "32k"}[tp["transmission_mode"]]
149                 ret["guard_interval"] = {
150                         eDVBFrontendParametersTerrestrial.GuardInterval_Auto : _("Auto"),
151                         eDVBFrontendParametersTerrestrial.GuardInterval_19_256 : "19/256",
152                         eDVBFrontendParametersTerrestrial.GuardInterval_19_128 : "19/128",
153                         eDVBFrontendParametersTerrestrial.GuardInterval_1_128 : "1/128",
154                         eDVBFrontendParametersTerrestrial.GuardInterval_1_32 : "1/32",
155                         eDVBFrontendParametersTerrestrial.GuardInterval_1_16 : "1/16",
156                         eDVBFrontendParametersTerrestrial.GuardInterval_1_8 : "1/8",
157                         eDVBFrontendParametersTerrestrial.GuardInterval_1_4 : "1/4"}[tp["guard_interval"]]
158                 ret["hierarchy_information"] = {
159                         eDVBFrontendParametersTerrestrial.Hierarchy_Auto : _("Auto"),
160                         eDVBFrontendParametersTerrestrial.Hierarchy_None : _("None"),
161                         eDVBFrontendParametersTerrestrial.Hierarchy_1 : "1",
162                         eDVBFrontendParametersTerrestrial.Hierarchy_2 : "2",
163                         eDVBFrontendParametersTerrestrial.Hierarchy_4 : "4"}[tp["hierarchy_information"]]
164                 ret["inversion"] = {
165                         eDVBFrontendParametersTerrestrial.Inversion_Unknown : _("Auto"),
166                         eDVBFrontendParametersTerrestrial.Inversion_On : _("On"),
167                         eDVBFrontendParametersTerrestrial.Inversion_Off : _("Off")}[tp["inversion"]]
168                 ret["system"] = {
169                         eDVBFrontendParametersTerrestrial.System_DVB_T : "DVB-T",
170                         eDVBFrontendParametersTerrestrial.System_DVB_T2 : "DVB-T2"}[tp["system"]]
171         else:
172                 print "ConvertToHumanReadable: no or unknown type in tpdata dict!"
173         for x in tp.keys():
174                 if not ret.has_key(x):
175                         ret[x] = tp[x]
176         return ret