aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/frontendparms.h
blob: b8f47f43fc22f61905cc52e4b17f07cb96b006b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#ifndef __lib_dvb_frontendparms_h
#define __lib_dvb_frontendparms_h

#include <lib/python/swig.h>

class SatelliteDeliverySystemDescriptor;
class CableDeliverySystemDescriptor;
class TerrestrialDeliverySystemDescriptor;

struct eDVBFrontendParametersSatellite
{
#ifndef SWIG
	void set(const SatelliteDeliverySystemDescriptor  &);
#endif
	struct Polarisation {
		enum {
			Horizontal, Vertical, CircularLeft, CircularRight
		};
	};
	struct Inversion {
		enum {
			Off, On, Unknown
		};
	};
	struct FEC {
		enum {
			fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, f3_5, f4_5, f9_10, fNone=15
		};
	};
	struct System {
		enum {
			DVB_S, DVB_S2
		};
	};
	struct Modulation {
		enum {
			Auto, QPSK, M8PSK, QAM_16
		};
	};
	struct RollOff {  // dvb-s2
		enum {
			alpha_0_35, alpha_0_25, alpha_0_20, alpha_auto
		};
	};
	bool no_rotor_command_on_tune;
	unsigned int frequency, symbol_rate;
	int polarisation, fec, inversion, orbital_position, system, modulation, roll_off;
};
SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite);

struct eDVBFrontendParametersCable
{
#ifndef SWIG
	void set(const CableDeliverySystemDescriptor  &);
#endif
	struct Inversion {
		enum {
			Off, On, Unknown
		};
	};
	struct FEC {
		enum {
			fAuto, f1_2, f2_3, f3_4, f5_6, f7_8, f8_9, fNone=15
		};
	};
	struct Modulation {
		enum {
			Auto, QAM16, QAM32, QAM64, QAM128, QAM256
		};
	};
	unsigned int frequency, symbol_rate;
	int modulation, inversion, fec_inner;
};
SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersCable);

struct eDVBFrontendParametersTerrestrial
{
#ifndef SWIG
	void set(const TerrestrialDeliverySystemDescriptor  &);
#endif
	struct Bandwidth {
		enum {
			Bw8MHz, Bw7MHz, Bw6MHz, /*Bw5MHz,*/ BwAuto
		}; // Bw5Mhz nyi (compatibilty with enigma1)
	};
	struct FEC {
		enum {
			f1_2, f2_3, f3_4, f5_6, f7_8, fAuto
		};
	};
	struct TransmissionMode {
		enum {
			TM2k, TM8k, /*TM4k,*/ TMAuto
		}; // TM4k nyi (compatibility with enigma1)
	};
	struct GuardInterval {
		enum {
			GI_1_32, GI_1_16, GI_1_8, GI_1_4, GI_Auto
		};
	};
	struct Hierarchy {
		enum {
			HNone, H1, H2, H4, HAuto
		};
	};
	struct Modulation {
		enum {
			QPSK, QAM16, QAM64, Auto
		};
	};
	struct Inversion
	{
		enum {
			Off, On, Unknown
		};
	};
	unsigned int frequency;
	int bandwidth;
	int code_rate_HP, code_rate_LP;
	int modulation;
	int transmission_mode;
	int guard_interval;
	int hierarchy;
	int inversion;
};
SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersTerrestrial);

#endif