add support for rolloff and pilot changing (needed for some 8PSK transponders)
[vuplus_dvbapp] / 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         struct Polarisation {
16                 enum {
17                         Horizontal, Vertical, CircularLeft, CircularRight
18                 };
19         };
20         struct Inversion {
21                 enum {
22                         Off, On, Unknown
23                 };
24         };
25         struct FEC {
26                 enum {
27                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, f3_5, f4_5, f9_10, fNone=15
28                 };
29         };
30         struct System {
31                 enum {
32                         DVB_S, DVB_S2
33                 };
34         };
35         struct Modulation {
36                 enum {
37                         Auto, QPSK, M8PSK, QAM_16
38                 };
39         };
40         // dvb-s2
41         struct RollOff {
42                 enum {
43                         alpha_0_35, alpha_0_25, alpha_0_20
44                 };
45         };
46         // only 8psk
47         struct Pilot {  
48                 enum {
49                         Off, On, Unknown
50                 };
51         };
52         bool no_rotor_command_on_tune;
53         unsigned int frequency, symbol_rate;
54         int polarisation, fec, inversion, orbital_position, system, modulation, rolloff, pilot;
55 };
56 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite);
57
58 struct eDVBFrontendParametersCable
59 {
60 #ifndef SWIG
61         void set(const CableDeliverySystemDescriptor  &);
62 #endif
63         struct Inversion {
64                 enum {
65                         Off, On, Unknown
66                 };
67         };
68         struct FEC {
69                 enum {
70                         fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15
71                 };
72         };
73         struct Modulation {
74                 enum {
75                         Auto, QAM16, QAM32, QAM64, QAM128, QAM256
76                 };
77         };
78         unsigned int frequency, symbol_rate;
79         int modulation, inversion, fec_inner;
80 };
81 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersCable);
82
83 struct eDVBFrontendParametersTerrestrial
84 {
85 #ifndef SWIG
86         void set(const TerrestrialDeliverySystemDescriptor  &);
87 #endif
88         struct Bandwidth {
89                 enum {
90                         Bw8MHz, Bw7MHz, Bw6MHz, /*Bw5MHz,*/ BwAuto
91                 }; // Bw5Mhz nyi (compatibilty with enigma1)
92         };
93         struct FEC {
94                 enum {
95                         f1_2, f2_3, f3_4, f5_6, f7_8, fAuto
96                 };
97         };
98         struct TransmissionMode {
99                 enum {
100                         TM2k, TM8k, /*TM4k,*/ TMAuto
101                 }; // TM4k nyi (compatibility with enigma1)
102         };
103         struct GuardInterval {
104                 enum {
105                         GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_Auto
106                 };
107         };
108         struct Hierarchy {
109                 enum {
110                         HNone, H1, H2, H4, HAuto
111                 };
112         };
113         struct Modulation {
114                 enum {
115                         QPSK, QAM16, QAM64, Auto
116                 };
117         };
118         struct Inversion
119         {
120                 enum {
121                         Off, On, Unknown
122                 };
123         };
124         unsigned int frequency;
125         int bandwidth;
126         int code_rate_HP, code_rate_LP;
127         int modulation;
128         int transmission_mode;
129         int guard_interval;
130         int hierarchy;
131         int inversion;
132 };
133 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersTerrestrial);
134
135 #endif