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