make dm8000 blink pattern a bit nicer
[enigma2.git] / lib / python / Tools / Transponder.py
1 from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
2
3 def ConvertToHumanReadable(tp, type = None):
4         ret = { }
5         if type is None:
6                 type = tp.get("tuner_type", "None")
7         if type == "DVB-S":
8                 ret["tuner_type"] = _("Satellite")
9                 ret["inversion"] = {
10                         eDVBFrontendParametersSatellite.Inversion_Unknown : _("Auto"),
11                         eDVBFrontendParametersSatellite.Inversion_On : _("On"),
12                         eDVBFrontendParametersSatellite.Inversion_Off : _("Off")}[tp["inversion"]]
13                 ret["fec_inner"] = {
14                         eDVBFrontendParametersSatellite.FEC_None : _("None"),
15                         eDVBFrontendParametersSatellite.FEC_Auto : _("Auto"),
16                         eDVBFrontendParametersSatellite.FEC_1_2 : "1/2",
17                         eDVBFrontendParametersSatellite.FEC_2_3 : "2/3",
18                         eDVBFrontendParametersSatellite.FEC_3_4 : "3/4",
19                         eDVBFrontendParametersSatellite.FEC_5_6 : "5/6",
20                         eDVBFrontendParametersSatellite.FEC_7_8 : "7/8",
21                         eDVBFrontendParametersSatellite.FEC_3_5 : "3/5",
22                         eDVBFrontendParametersSatellite.FEC_4_5 : "4/5",
23                         eDVBFrontendParametersSatellite.FEC_8_9 : "8/9",
24                         eDVBFrontendParametersSatellite.FEC_9_10 : "9/10"}[tp["fec_inner"]]
25                 ret["modulation"] = {
26                         eDVBFrontendParametersSatellite.Modulation_Auto : _("Auto"),
27                         eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
28                         eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
29                         eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK"}[tp["modulation"]]
30                 ret["polarization"] = {
31                         eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
32                         eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
33                         eDVBFrontendParametersSatellite.Polarisation_CircularLeft : _("Circular left"),
34                         eDVBFrontendParametersSatellite.Polarisation_CircularRight : _("Circular right")}[tp["polarization"]]
35                 ret["system"] = {
36                         eDVBFrontendParametersSatellite.System_DVB_S : "DVB-S",
37                         eDVBFrontendParametersSatellite.System_DVB_S2 : "DVB-S2"}[tp["system"]]
38                 if ret["system"] == "DVB-S2":
39                         ret["rolloff"] = {
40                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_35 : "0.35",
41                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_25 : "0.25",
42                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_20 : "0.20"}[tp["rolloff"]]
43                         ret["pilot"] = {
44                                 eDVBFrontendParametersSatellite.Pilot_Unknown : _("Auto"),
45                                 eDVBFrontendParametersSatellite.Pilot_On : _("On"),
46                                 eDVBFrontendParametersSatellite.Pilot_Off : _("Off")}[tp["pilot"]]
47         elif type == "DVB-C":
48                 ret["tuner_type"] = _("Cable")
49                 ret["modulation"] = {
50                         eDVBFrontendParametersCable.Modulation_Auto: _("Auto"),
51                         eDVBFrontendParametersCable.Modulation_QAM16 : "QAM16",
52                         eDVBFrontendParametersCable.Modulation_QAM32 : "QAM32",
53                         eDVBFrontendParametersCable.Modulation_QAM64 : "QAM64",
54                         eDVBFrontendParametersCable.Modulation_QAM128 : "QAM128",
55                         eDVBFrontendParametersCable.Modulation_QAM256 : "QAM256"}[tp["modulation"]]
56                 ret["inversion"] = {
57                         eDVBFrontendParametersCable.Inversion_Unknown : _("Auto"),
58                         eDVBFrontendParametersCable.Inversion_On : _("On"),
59                         eDVBFrontendParametersCable.Inversion_Off : _("Off")}[tp["inversion"]]
60                 ret["fec_inner"] = {
61                         eDVBFrontendParametersCable.FEC_None : _("None"),
62                         eDVBFrontendParametersCable.FEC_Auto : _("Auto"),
63                         eDVBFrontendParametersCable.FEC_1_2 : "1/2",
64                         eDVBFrontendParametersCable.FEC_2_3 : "2/3",
65                         eDVBFrontendParametersCable.FEC_3_4 : "3/4",
66                         eDVBFrontendParametersCable.FEC_5_6 : "5/6",
67                         eDVBFrontendParametersCable.FEC_7_8 : "7/8",
68                         eDVBFrontendParametersCable.FEC_8_9 : "8/9"}[tp["fec_inner"]]
69         elif type == "DVB-T":
70                 ret["tuner_type"] = _("Terrestrial")
71                 ret["bandwidth"] = {
72                         eDVBFrontendParametersTerrestrial.Bandwidth_Auto : _("Auto"),
73                         eDVBFrontendParametersTerrestrial.Bandwidth_8MHz : "8 MHz",
74                         eDVBFrontendParametersTerrestrial.Bandwidth_7MHz : "7 MHz",
75                         eDVBFrontendParametersTerrestrial.Bandwidth_6MHz : "6 MHz"}[tp["bandwidth"]]
76                 ret["code_rate_lp"] = {
77                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
78                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
79                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
80                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
81                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
82                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8"}[tp["code_rate_lp"]]
83                 ret["code_rate_hp"] = {
84                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
85                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
86                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
87                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
88                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
89                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8"}[tp["code_rate_hp"]]
90                 ret["constellation"] = {
91                         eDVBFrontendParametersTerrestrial.Modulation_Auto : _("Auto"),
92                         eDVBFrontendParametersTerrestrial.Modulation_QPSK : "QPSK",
93                         eDVBFrontendParametersTerrestrial.Modulation_QAM16 : "QAM16",
94                         eDVBFrontendParametersTerrestrial.Modulation_QAM64 : "QAM64"}[tp["constellation"]]
95                 ret["transmission_mode"] = {
96                         eDVBFrontendParametersTerrestrial.TransmissionMode_Auto : _("Auto"),
97                         eDVBFrontendParametersTerrestrial.TransmissionMode_2k : "2k",
98                         eDVBFrontendParametersTerrestrial.TransmissionMode_8k : "8k"}[tp["transmission_mode"]]
99                 ret["guard_interval"] = {
100                         eDVBFrontendParametersTerrestrial.GuardInterval_Auto : _("Auto"),
101                         eDVBFrontendParametersTerrestrial.GuardInterval_1_32 : "1/32",
102                         eDVBFrontendParametersTerrestrial.GuardInterval_1_16 : "1/16",
103                         eDVBFrontendParametersTerrestrial.GuardInterval_1_8 : "1/8",
104                         eDVBFrontendParametersTerrestrial.GuardInterval_1_4 : "1/4"}[tp["guard_interval"]]
105                 ret["hierarchy_information"] = {
106                         eDVBFrontendParametersTerrestrial.Hierarchy_Auto : _("Auto"),
107                         eDVBFrontendParametersTerrestrial.Hierarchy_None : _("None"),
108                         eDVBFrontendParametersTerrestrial.Hierarchy_1 : "1",
109                         eDVBFrontendParametersTerrestrial.Hierarchy_2 : "2",
110                         eDVBFrontendParametersTerrestrial.Hierarchy_4 : "4"}[tp["hierarchy_information"]]
111                 ret["inversion"] = {
112                         eDVBFrontendParametersTerrestrial.Inversion_Unknown : _("Auto"),
113                         eDVBFrontendParametersTerrestrial.Inversion_On : _("On"),
114                         eDVBFrontendParametersTerrestrial.Inversion_Off : _("Off")}[tp["inversion"]]
115         else:
116                 print "ConvertToHumanReadable: no or unknown type in tpdata dict!"
117         for x in tp.keys():
118                 if not ret.has_key(x):
119                         ret[x] = tp[x]
120         return ret