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