openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
frontendparms.h
Go to the documentation of this file.
1 #ifndef __lib_dvb_frontendparms_h
2 #define __lib_dvb_frontendparms_h
3 
4 #include <vector>
5 
6 #include <dvbsi++/satellite_delivery_system_descriptor.h>
7 #include <dvbsi++/s2_satellite_delivery_system_descriptor.h>
8 #include <dvbsi++/cable_delivery_system_descriptor.h>
9 #include <dvbsi++/terrestrial_delivery_system_descriptor.h>
10 #include <dvbsi++/t2_delivery_system_descriptor.h>
11 
12 #include <lib/python/swig.h>
13 #include <lib/dvb/idvb.h>
14 
15 #include <linux/dvb/frontend.h>
16 
17 extern int roundMulti(int value, int m);//round value to multiple of m
18 
20 {
21 public:
22 #ifndef SWIG
23  void set(const SatelliteDeliverySystemDescriptor &);
24  void set(const S2SatelliteDeliverySystemDescriptor &);
25 #endif
26  enum {
28  };
29 
30  enum {
32  };
33 
34  /* WARNING: do not change the order of these values, they are used to parse lamedb and satellites.xml FEC fields */
35  enum {
37  };
38 
39  enum {
41  };
42 
43  enum {
45  };
46 
47  // dvb-s2
48  enum {
50  };
51 
52  enum {
54  };
55  enum {
57  };
58  enum {
60  };
61  enum {
62  No_Stream_Id_Filter = NO_STREAM_ID_FILTER
63  };
64  enum {
66  };
67  enum {
69  };
73  int plp_id;
74 };
76 
78 {
79 public:
80 #ifndef SWIG
81  void set(const CableDeliverySystemDescriptor &);
82 #endif
83  enum {
85  };
86 
87  /*
88  * WARNING: do not change the order of these values, they are used to parse lamedb and cables.xml FEC fields.
89  * The values are the same as those in eDVBFrontendParametersSatellite.
90  */
91  enum {
93  };
94 
95  enum {
97  };
98 
99  enum {
101  };
102 
105 };
107 
109 {
110 public:
111 #ifndef SWIG
112  void set(const TerrestrialDeliverySystemDescriptor &);
113  void set(const T2DeliverySystemDescriptor &);
114 #endif
115  enum {
117  };
118 
119  /*
120  * WARNING: do not change the order of these values, they are used to parse lamedb and terrestrial.xml FEC fields.
121  * The values are NOT the same as those in eDVBFrontendParametersSatellite/eDVBFrontendParametersCable
122  * (and it's too late to fix this now, we would break backward compatibility)
123  */
124  enum {
126  };
127 
128  enum {
130  };
131 
132  enum {
134  };
135 
136  enum {
138  };
139 
140  enum {
142  };
143 
144  enum {
146  };
147 
148  enum {
150  };
151 
160  int system;
161  int plp_id;
162 };
164 
166 {
167 public:
168  enum {
170  };
171 
172  enum {
174  };
175 
176  enum {
178  };
179 
182 };
184 
185 #ifndef SWIG
186 
187 class eDVBFrontend;
188 
190 {
191  DECLARE_REF(eDVBFrontendStatus);
192 
193  ePtr<eDVBFrontend> frontend;
194 
195 public:
197 
198  int getState() const;
199  std::string getStateDescription() const;
200  int getLocked() const;
201  int getSynced() const;
202  int getBER() const;
203  int getSNR() const;
204  int getSNRdB() const;
205  int getSignalPower() const;
206 };
207 
209 {
210 protected:
211  std::vector<struct dtv_property> dtvProperties;
213  int getProperty(unsigned int cmd) const;
214 
215 public:
216  eDVBTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, bool original);
217 
218  int getInversion() const;
219  int getFrequency() const;
220  int getSymbolRate() const;
221  int getOrbitalPosition() const;
222  int getFecInner() const;
223  int getModulation() const;
224  int getPolarization() const;
225  int getRolloff() const;
226  int getPilot() const;
227  int getSystem() const;
228  int getSystems() const;
229  int getIsId() const;
230  int getPLSMode() const;
231  int getPLSCode() const;
232  int getT2MIPlpId() const;
233  int getT2MIPid() const;
234  int getBandwidth() const;
235  int getCodeRateLp() const;
236  int getCodeRateHp() const;
237  int getConstellation() const;
238  int getTransmissionMode() const;
239  int getGuardInterval() const;
240  int getHierarchyInformation() const;
241  int getPlpId() const;
242 };
243 
245 {
246  DECLARE_REF(eDVBSatelliteTransponderData);
247 
248  eDVBFrontendParametersSatellite transponderParameters;
249  int frequencyOffset;
250  long spectinvCnt;
251 
252 public:
253  eDVBSatelliteTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersSatellite &transponderparms, int frequencyoffset, long spectinvcnt, bool original);
254 
255  std::string getTunerType() const;
256  int getInversion() const;
257  int getFrequency() const;
258  int getSymbolRate() const;
259  int getOrbitalPosition() const;
260  int getFecInner() const;
261  int getModulation() const;
262  int getPolarization() const;
263  int getRolloff() const;
264  int getPilot() const;
265  int getSystem() const;
266  int getSystems() const;
267  int getIsId() const;
268  int getPLSMode() const;
269  int getPLSCode() const;
270  int getT2MIPlpId() const;
271  int getT2MIPid() const;
272 };
273 
275 {
276  DECLARE_REF(eDVBCableTransponderData);
277 
278  eDVBFrontendParametersCable transponderParameters;
279 
280 public:
281  eDVBCableTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersCable &transponderparms, bool original);
282 
283  std::string getTunerType() const;
284  int getInversion() const;
285  int getFrequency() const;
286  int getSymbolRate() const;
287  int getFecInner() const;
288  int getModulation() const;
289  int getSystem() const;
290  int getSystems() const;
291 };
292 
294 {
295  DECLARE_REF(eDVBTerrestrialTransponderData);
296 
297  eDVBFrontendParametersTerrestrial transponderParameters;
298 
299 public:
300  eDVBTerrestrialTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersTerrestrial &transponderparms, bool original);
301 
302  std::string getTunerType() const;
303  int getInversion() const;
304  int getFrequency() const;
305  int getBandwidth() const;
306  int getCodeRateLp() const;
307  int getCodeRateHp() const;
308  int getConstellation() const;
309  int getTransmissionMode() const;
310  int getGuardInterval() const;
311  int getHierarchyInformation() const;
312  int getPlpId() const;
313  int getSystem() const;
314  int getSystems() const;
315 };
316 
318 {
319  DECLARE_REF(eDVBATSCTransponderData);
320 
321  eDVBFrontendParametersATSC transponderParameters;
322 
323 public:
324  eDVBATSCTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersATSC &transponderparms, bool original);
325 
326  std::string getTunerType() const;
327  int getInversion() const;
328  int getFrequency() const;
329  int getModulation() const;
330  int getSystem() const;
331  int getSystems() const;
332 };
333 
335 {
336  DECLARE_REF(eDVBFrontendData);
337 
338  ePtr<eDVBFrontend> frontend;
339 
340 public:
342 
343  int getNumber() const;
344  std::string getTypeDescription() const;
345 };
346 #endif
347 
348 #endif
Definition: frontendparms.h:318
int getModulation() const
Definition: frontendparms.cpp:748
eDVBATSCTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersATSC &transponderparms, bool original)
Definition: frontendparms.cpp:718
int getSystems() const
Definition: frontendparms.cpp:778
int getInversion() const
Definition: frontendparms.cpp:728
std::string getTunerType() const
Definition: frontendparms.cpp:723
int getFrequency() const
Definition: frontendparms.cpp:741
int getSystem() const
Definition: frontendparms.cpp:766
Definition: frontendparms.h:275
int getFecInner() const
Definition: frontendparms.cpp:479
int getInversion() const
Definition: frontendparms.cpp:452
int getSystem() const
Definition: frontendparms.cpp:516
int getFrequency() const
Definition: frontendparms.cpp:465
int getModulation() const
Definition: frontendparms.cpp:500
int getSystems() const
Definition: frontendparms.cpp:532
eDVBCableTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersCable &transponderparms, bool original)
Definition: frontendparms.cpp:442
std::string getTunerType() const
Definition: frontendparms.cpp:447
int getSymbolRate() const
Definition: frontendparms.cpp:472
Definition: frontendparms.h:335
eDVBFrontendData(ePtr< eDVBFrontend > &fe)
Definition: frontendparms.cpp:785
std::string getTypeDescription() const
Definition: frontendparms.cpp:796
int getNumber() const
Definition: frontendparms.cpp:790
Definition: frontend.h:59
Definition: frontendparms.h:166
@ Inversion_Unknown
Definition: frontendparms.h:169
@ Inversion_Off
Definition: frontendparms.h:169
@ Inversion_On
Definition: frontendparms.h:169
@ System_DVB_C_ANNEX_B
Definition: frontendparms.h:173
@ System_ATSC
Definition: frontendparms.h:173
int modulation
Definition: frontendparms.h:181
@ Modulation_QAM32
Definition: frontendparms.h:177
@ Modulation_QAM16
Definition: frontendparms.h:177
@ Modulation_QAM64
Definition: frontendparms.h:177
@ Modulation_VSB_16
Definition: frontendparms.h:177
@ Modulation_QAM256
Definition: frontendparms.h:177
@ Modulation_VSB_8
Definition: frontendparms.h:177
@ Modulation_QAM128
Definition: frontendparms.h:177
@ Modulation_Auto
Definition: frontendparms.h:177
int inversion
Definition: frontendparms.h:181
int frequency
Definition: frontendparms.h:180
int system
Definition: frontendparms.h:181
Definition: frontendparms.h:78
int fec_inner
Definition: frontendparms.h:104
@ System_DVB_C_ANNEX_A
Definition: frontendparms.h:96
@ System_DVB_C_ANNEX_C
Definition: frontendparms.h:96
int frequency
Definition: frontendparms.h:103
@ Inversion_Off
Definition: frontendparms.h:84
@ Inversion_Unknown
Definition: frontendparms.h:84
@ Inversion_On
Definition: frontendparms.h:84
int modulation
Definition: frontendparms.h:104
int symbol_rate
Definition: frontendparms.h:103
int system
Definition: frontendparms.h:104
int inversion
Definition: frontendparms.h:104
@ FEC_3_5
Definition: frontendparms.h:92
@ FEC_4_5
Definition: frontendparms.h:92
@ FEC_6_7
Definition: frontendparms.h:92
@ FEC_3_4
Definition: frontendparms.h:92
@ FEC_7_8
Definition: frontendparms.h:92
@ FEC_1_2
Definition: frontendparms.h:92
@ FEC_None
Definition: frontendparms.h:92
@ FEC_9_10
Definition: frontendparms.h:92
@ FEC_5_6
Definition: frontendparms.h:92
@ FEC_Auto
Definition: frontendparms.h:92
@ FEC_8_9
Definition: frontendparms.h:92
@ FEC_2_3
Definition: frontendparms.h:92
void set(const CableDeliverySystemDescriptor &)
Definition: frontend.cpp:180
@ Modulation_QAM32
Definition: frontendparms.h:100
@ Modulation_Auto
Definition: frontendparms.h:100
@ Modulation_QAM16
Definition: frontendparms.h:100
@ Modulation_QAM256
Definition: frontendparms.h:100
@ Modulation_QAM128
Definition: frontendparms.h:100
@ Modulation_QAM64
Definition: frontendparms.h:100
Definition: frontendparms.h:20
int pls_code
Definition: frontendparms.h:72
@ PLS_Default_Root_Code
Definition: frontendparms.h:65
@ PLS_Default_Gold_Code
Definition: frontendparms.h:65
int inversion
Definition: frontendparms.h:72
@ No_Stream_Id_Filter
Definition: frontendparms.h:62
int t2mi_plp_id
Definition: frontendparms.h:72
@ FEC_1_2
Definition: frontendparms.h:36
@ FEC_None
Definition: frontendparms.h:36
@ FEC_7_8
Definition: frontendparms.h:36
@ FEC_3_4
Definition: frontendparms.h:36
@ FEC_6_7
Definition: frontendparms.h:36
@ FEC_2_3
Definition: frontendparms.h:36
@ FEC_Auto
Definition: frontendparms.h:36
@ FEC_4_5
Definition: frontendparms.h:36
@ FEC_9_10
Definition: frontendparms.h:36
@ FEC_3_5
Definition: frontendparms.h:36
@ FEC_5_6
Definition: frontendparms.h:36
@ FEC_8_9
Definition: frontendparms.h:36
@ System_DVB_S
Definition: frontendparms.h:40
@ System_DVB_S2
Definition: frontendparms.h:40
int frequency
Definition: frontendparms.h:71
bool no_rotor_command_on_tune
Definition: frontendparms.h:70
@ Polarisation_CircularRight
Definition: frontendparms.h:27
@ Polarisation_Horizontal
Definition: frontendparms.h:27
@ Polarisation_Vertical
Definition: frontendparms.h:27
@ Polarisation_CircularLeft
Definition: frontendparms.h:27
@ RollOff_auto
Definition: frontendparms.h:49
@ RollOff_alpha_0_20
Definition: frontendparms.h:49
@ RollOff_alpha_0_25
Definition: frontendparms.h:49
@ RollOff_alpha_0_35
Definition: frontendparms.h:49
@ Modulation_16APSK
Definition: frontendparms.h:44
@ Modulation_Auto
Definition: frontendparms.h:44
@ Modulation_32APSK
Definition: frontendparms.h:44
@ Modulation_QAM16
Definition: frontendparms.h:44
@ Modulation_QPSK
Definition: frontendparms.h:44
@ Modulation_8PSK
Definition: frontendparms.h:44
int system
Definition: frontendparms.h:72
@ Pilot_On
Definition: frontendparms.h:53
@ Pilot_Unknown
Definition: frontendparms.h:53
@ Pilot_Off
Definition: frontendparms.h:53
@ Band_Ka
Definition: frontendparms.h:56
@ Band_C
Definition: frontendparms.h:56
@ Band_Unknown
Definition: frontendparms.h:56
@ Band_Ku
Definition: frontendparms.h:56
int symbol_rate
Definition: frontendparms.h:71
int modulation
Definition: frontendparms.h:72
int orbital_position
Definition: frontendparms.h:72
void set(const SatelliteDeliverySystemDescriptor &)
Definition: frontend.cpp:126
int pilot
Definition: frontendparms.h:72
int fec
Definition: frontendparms.h:72
@ Inversion_On
Definition: frontendparms.h:31
@ Inversion_Off
Definition: frontendparms.h:31
@ Inversion_Unknown
Definition: frontendparms.h:31
int pls_mode
Definition: frontendparms.h:72
int t2mi_pid
Definition: frontendparms.h:72
@ PLS_Gold
Definition: frontendparms.h:59
@ PLS_Unknown
Definition: frontendparms.h:59
@ PLS_Root
Definition: frontendparms.h:59
@ PLS_Combo
Definition: frontendparms.h:59
int is_id
Definition: frontendparms.h:72
@ T2MI_Default_Pid
Definition: frontendparms.h:68
@ No_T2MI_PLP_Id
Definition: frontendparms.h:68
int plp_id
Definition: frontendparms.h:73
int polarisation
Definition: frontendparms.h:72
int rolloff
Definition: frontendparms.h:72
Definition: frontendparms.h:109
int plp_id
Definition: frontendparms.h:161
int modulation
Definition: frontendparms.h:155
int hierarchy
Definition: frontendparms.h:158
@ Inversion_Unknown
Definition: frontendparms.h:149
@ Inversion_Off
Definition: frontendparms.h:149
@ Inversion_On
Definition: frontendparms.h:149
@ System_DVB_T_T2
Definition: frontendparms.h:129
@ System_DVB_T2
Definition: frontendparms.h:129
@ System_DVB_T
Definition: frontendparms.h:129
void set(const TerrestrialDeliverySystemDescriptor &)
Definition: frontend.cpp:209
int frequency
Definition: frontendparms.h:152
int guard_interval
Definition: frontendparms.h:157
@ TransmissionMode_4k
Definition: frontendparms.h:133
@ TransmissionMode_8k
Definition: frontendparms.h:133
@ TransmissionMode_32k
Definition: frontendparms.h:133
@ TransmissionMode_Auto
Definition: frontendparms.h:133
@ TransmissionMode_1k
Definition: frontendparms.h:133
@ TransmissionMode_2k
Definition: frontendparms.h:133
@ TransmissionMode_16k
Definition: frontendparms.h:133
@ Hierarchy_2
Definition: frontendparms.h:141
@ Hierarchy_Auto
Definition: frontendparms.h:141
@ Hierarchy_4
Definition: frontendparms.h:141
@ Hierarchy_1
Definition: frontendparms.h:141
@ Hierarchy_None
Definition: frontendparms.h:141
@ FEC_4_5
Definition: frontendparms.h:125
@ FEC_3_5
Definition: frontendparms.h:125
@ FEC_1_2
Definition: frontendparms.h:125
@ FEC_5_6
Definition: frontendparms.h:125
@ FEC_8_9
Definition: frontendparms.h:125
@ FEC_3_4
Definition: frontendparms.h:125
@ FEC_7_8
Definition: frontendparms.h:125
@ FEC_2_3
Definition: frontendparms.h:125
@ FEC_6_7
Definition: frontendparms.h:125
@ FEC_Auto
Definition: frontendparms.h:125
@ Modulation_QAM256
Definition: frontendparms.h:145
@ Modulation_QAM64
Definition: frontendparms.h:145
@ Modulation_QAM16
Definition: frontendparms.h:145
@ Modulation_QPSK
Definition: frontendparms.h:145
@ Modulation_Auto
Definition: frontendparms.h:145
int code_rate_HP
Definition: frontendparms.h:154
int bandwidth
Definition: frontendparms.h:153
int code_rate_LP
Definition: frontendparms.h:154
int inversion
Definition: frontendparms.h:159
@ Bandwidth_6MHz
Definition: frontendparms.h:116
@ Bandwidth_Auto
Definition: frontendparms.h:116
@ Bandwidth_1_712MHz
Definition: frontendparms.h:116
@ Bandwidth_5MHz
Definition: frontendparms.h:116
@ Bandwidth_10MHz
Definition: frontendparms.h:116
@ Bandwidth_7MHz
Definition: frontendparms.h:116
@ Bandwidth_8MHz
Definition: frontendparms.h:116
@ GuardInterval_1_32
Definition: frontendparms.h:137
@ GuardInterval_19_256
Definition: frontendparms.h:137
@ GuardInterval_1_8
Definition: frontendparms.h:137
@ GuardInterval_19_128
Definition: frontendparms.h:137
@ GuardInterval_1_16
Definition: frontendparms.h:137
@ GuardInterval_1_128
Definition: frontendparms.h:137
@ GuardInterval_1_4
Definition: frontendparms.h:137
@ GuardInterval_Auto
Definition: frontendparms.h:137
int transmission_mode
Definition: frontendparms.h:156
int system
Definition: frontendparms.h:160
Definition: frontendparms.h:190
int getSNRdB() const
Definition: frontendparms.cpp:72
int getSignalPower() const
Definition: frontendparms.cpp:84
int getBER() const
Definition: frontendparms.cpp:60
eDVBFrontendStatus(ePtr< eDVBFrontend > &fe)
Definition: frontendparms.cpp:15
std::string getStateDescription() const
Definition: frontendparms.cpp:28
int getSNR() const
Definition: frontendparms.cpp:66
int getSynced() const
Definition: frontendparms.cpp:54
int getState() const
Definition: frontendparms.cpp:20
int getLocked() const
Definition: frontendparms.cpp:48
Definition: frontendparms.h:245
int getOrbitalPosition() const
Definition: frontendparms.cpp:275
int getIsId() const
Definition: frontendparms.cpp:386
int getModulation() const
Definition: frontendparms.cpp:316
int getSymbolRate() const
Definition: frontendparms.cpp:268
int getSystem() const
Definition: frontendparms.cpp:368
int getT2MIPlpId() const
Definition: frontendparms.cpp:418
int getInversion() const
Definition: frontendparms.cpp:242
int getPLSCode() const
Definition: frontendparms.cpp:407
int getFecInner() const
Definition: frontendparms.cpp:280
int getRolloff() const
Definition: frontendparms.cpp:341
int getFrequency() const
Definition: frontendparms.cpp:261
eDVBSatelliteTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersSatellite &transponderparms, int frequencyoffset, long spectinvcnt, bool original)
Definition: frontendparms.cpp:232
int getPolarization() const
Definition: frontendparms.cpp:336
int getPLSMode() const
Definition: frontendparms.cpp:395
int getT2MIPid() const
Definition: frontendparms.cpp:429
int getSystems() const
Definition: frontendparms.cpp:381
int getPilot() const
Definition: frontendparms.cpp:355
std::string getTunerType() const
Definition: frontendparms.cpp:237
Definition: frontendparms.h:294
int getTransmissionMode() const
Definition: frontendparms.cpp:633
std::string getTunerType() const
Definition: frontendparms.cpp:544
int getBandwidth() const
Definition: frontendparms.cpp:571
int getConstellation() const
Definition: frontendparms.cpp:618
int getPlpId() const
Definition: frontendparms.cpp:686
int getHierarchyInformation() const
Definition: frontendparms.cpp:671
int getSystems() const
Definition: frontendparms.cpp:711
int getCodeRateHp() const
Definition: frontendparms.cpp:598
eDVBTerrestrialTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, eDVBFrontendParametersTerrestrial &transponderparms, bool original)
Definition: frontendparms.cpp:539
int getFrequency() const
Definition: frontendparms.cpp:562
int getInversion() const
Definition: frontendparms.cpp:549
int getSystem() const
Definition: frontendparms.cpp:699
int getGuardInterval() const
Definition: frontendparms.cpp:651
int getCodeRateLp() const
Definition: frontendparms.cpp:578
Definition: frontendparms.h:209
int getRolloff() const
Definition: frontendparms.cpp:146
std::vector< struct dtv_property > dtvProperties
Definition: frontendparms.h:211
int getBandwidth() const
Definition: frontendparms.cpp:190
int getPolarization() const
Definition: frontendparms.cpp:141
int getSystems() const
Definition: frontendparms.cpp:185
int getTransmissionMode() const
Definition: frontendparms.cpp:210
int getT2MIPlpId() const
Definition: frontendparms.cpp:170
int getPlpId() const
Definition: frontendparms.cpp:225
int getGuardInterval() const
Definition: frontendparms.cpp:215
int getConstellation() const
Definition: frontendparms.cpp:205
int getPLSMode() const
Definition: frontendparms.cpp:161
int getFecInner() const
Definition: frontendparms.cpp:131
int getModulation() const
Definition: frontendparms.cpp:136
int getCodeRateHp() const
Definition: frontendparms.cpp:200
int getProperty(unsigned int cmd) const
Definition: frontendparms.cpp:99
eDVBTransponderData(struct dtv_property *dtvproperties, unsigned int propertycount, bool original)
Definition: frontendparms.cpp:90
int getPilot() const
Definition: frontendparms.cpp:151
int getHierarchyInformation() const
Definition: frontendparms.cpp:220
int getT2MIPid() const
Definition: frontendparms.cpp:175
int getSymbolRate() const
Definition: frontendparms.cpp:121
int getSystem() const
Definition: frontendparms.cpp:180
int getCodeRateLp() const
Definition: frontendparms.cpp:195
int getInversion() const
Definition: frontendparms.cpp:111
int getPLSCode() const
Definition: frontendparms.cpp:166
bool originalValues
Definition: frontendparms.h:212
int getIsId() const
Definition: frontendparms.cpp:156
int getOrbitalPosition() const
Definition: frontendparms.cpp:126
int getFrequency() const
Definition: frontendparms.cpp:116
Definition: idvb.h:576
Definition: idvb.h:533
Definition: idvb.h:546
SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite)
int roundMulti(int value, int m)
Definition: sec.cpp:318
value
Definition: Profile.py:29