4.2.6r2
[enigma2.git] / usr / include / enigma2 / lib / dvb / frontendparms.h
1 #ifndef __lib_dvb_frontendparms_h
2 #define __lib_dvb_frontendparms_h
3
4 #include <lib/python/swig.h>
5
6 class SatelliteDeliverySystemDescriptor;
7 class CableDeliverySystemDescriptor;
8 class TerrestrialDeliverySystemDescriptor;
9
10 struct eDVBFrontendParametersSatellite
11 {
12 #ifndef SWIG
13         void set(const SatelliteDeliverySystemDescriptor  &);
14 #endif
15         enum {
16                 Polarisation_Horizontal, Polarisation_Vertical, Polarisation_CircularLeft, Polarisation_CircularRight
17         };
18
19         enum {
20                 Inversion_Off, Inversion_On, Inversion_Unknown
21         };
22
23         enum {
24                 FEC_Auto, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_None=15
25         };
26
27         enum {
28                 System_DVB_S, System_DVB_S2
29         };
30
31         enum {
32                 Modulation_Auto, Modulation_QPSK, Modulation_8PSK, Modulation_QAM16
33         };
34
35         // dvb-s2
36         enum {
37                 RollOff_alpha_0_35, RollOff_alpha_0_25, RollOff_alpha_0_20
38         };
39
40         enum {
41                 Pilot_Off, Pilot_On, Pilot_Unknown
42         };
43
44         bool no_rotor_command_on_tune;
45         unsigned int frequency, symbol_rate;
46         int polarisation, fec, inversion, orbital_position, system, modulation, rolloff, pilot;
47 };
48 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite);
49
50 struct eDVBFrontendParametersCable
51 {
52 #ifndef SWIG
53         void set(const CableDeliverySystemDescriptor  &);
54 #endif
55         enum {
56                 Inversion_Off, Inversion_On, Inversion_Unknown
57         };
58
59         enum {
60                 FEC_Auto, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_None=15
61         };
62
63         enum {
64                 Modulation_Auto, Modulation_QAM16, Modulation_QAM32, Modulation_QAM64, Modulation_QAM128, Modulation_QAM256
65         };
66
67         unsigned int frequency, symbol_rate;
68         int modulation, inversion, fec_inner;
69 };
70 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersCable);
71
72 struct eDVBFrontendParametersTerrestrial
73 {
74 #ifndef SWIG
75         void set(const TerrestrialDeliverySystemDescriptor  &);
76 #endif
77         enum {
78                 Bandwidth_8MHz, Bandwidth_7MHz, Bandwidth_6MHz, Bandwidth_Auto, Bandwidth_5MHz, Bandwidth_1_712MHz, Bandwidth_10MHz
79         };
80
81         enum {
82                 FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_Auto, FEC_6_7, FEC_8_9, FEC_3_5, FEC_4_5
83         };
84
85         enum {
86                 TransmissionMode_2k, TransmissionMode_8k, TransmissionMode_Auto, TransmissionMode_4k, TransmissionMode_1k, TransmissionMode_16k, TransmissionMode_32k
87         };
88
89         enum {
90                 GuardInterval_1_32, GuardInterval_1_16, GuardInterval_1_8, GuardInterval_1_4, GuardInterval_Auto, GuardInterval_1_128, GuardInterval_19_128, GuardInterval_19_256
91         };
92
93         enum {
94                 Hierarchy_None, Hierarchy_1, Hierarchy_2, Hierarchy_4, Hierarchy_Auto
95         };
96
97         enum {
98                 Modulation_QPSK, Modulation_QAM16, Modulation_QAM64, Modulation_Auto, Modulation_QAM256
99         };
100
101         enum {
102                 Inversion_Off, Inversion_On, Inversion_Unknown
103         };
104
105         enum {
106                 System_DVB_T, System_DVB_T2, System_DVB_T_T2
107         };
108
109         unsigned int frequency;
110         int bandwidth;
111         int code_rate_HP; // DVB-T only
112         int code_rate_LP; // DVB-T2 fec_inner!
113         int modulation;
114         int transmission_mode;
115         int guard_interval;
116         int hierarchy;
117         int inversion;
118         int system;
119         int plp_id; // DVB-T2 only
120 };
121 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersTerrestrial);
122
123 #endif