-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathparams.go
259 lines (227 loc) · 2.93 KB
/
params.go
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
package dvb
// Device delivery sytem
type DeliverySystem uint32
const (
SysUndefined DeliverySystem = iota
SysDVBCAnnexA
SysDVBCAnnexB
SysDVBT
SysDSS
SysDVBS
SysDVBS2
SysDVBH
SysISDBT
SysISDBS
SysISDBC
SysATSC
SysATSCMH
SysDMBTH
SysCMMB
SysDAB
SysDVBT2
SysTURBO
SysDVBCAnnexC
)
var dsn = []string{
"Undefined",
"DVB-C Annex AC",
"DVB-C Annex B",
"DVB-T",
"DSS",
"DVB-S",
"DVB-S2",
"DVB-H",
"ISDB-T",
"ISDB-S",
"ISDB-C",
"ATSC",
"ATSC-MH",
"DMBT-H",
"CMMB",
"DAB",
"DVB-T2",
"TURBO",
}
func (ds DeliverySystem) String() string {
if ds > DeliverySystem(len(dsn)) {
return "unknown"
}
return dsn[ds]
}
type Inversion uint32
const (
InversionOff Inversion = iota
InversionOn
InversionAuto
)
var inversionNames = []string{
"off",
"on",
"auto",
}
func (i Inversion) String() string {
if i > InversionAuto {
return "unknown"
}
return inversionNames[i]
}
type CodeRate uint32
const (
FECNone CodeRate = iota
FEC12
FEC23
FEC34
FEC45
FEC56
FEC67
FEC78
FEC89
FECAuto
FEC35
FEC910
)
var codeRateNames = []string{
"none",
"1/2",
"2/3",
"3/4",
"4/5",
"5/6",
"6/7",
"7/8",
"8/9",
"auto",
"3/5",
"9/10",
}
func (cr CodeRate) String() string {
if cr > FEC910 {
return "unknown"
}
return codeRateNames[cr]
}
type Modulation uint32
const (
QPSK Modulation = iota
QAM16
QAM32
QAM64
QAM128
QAM256
QAMAuto
VSB8
VSB16
PSK8
APSK16
APSK32
DQPSK
)
var modulationNames = []string{
"QPSK",
"QAM16",
"QAM32",
"QAM64",
"QAM128",
"QAM256",
"QAMAuto",
"VSB8",
"VSB16",
"PSK8",
"APSK16",
"APSK32",
"DQPSK",
}
func (m Modulation) String() string {
if m > DQPSK {
return "unknown"
}
return modulationNames[m]
}
type TxMode uint32
const (
TxMode2k TxMode = iota
TxMode8k
TxModeAuto
TxMode4k
TxMode1k
TxMode16k
TxMode32k
)
var txModeNames = []string{
"2k",
"8k",
"auto",
"4k",
"1k",
"16k",
"32k",
}
func (tm TxMode) String() string {
if tm > TxMode32k {
return "unknown"
}
return txModeNames[tm]
}
type Guard uint32
const (
Guard32 Guard = iota // 1/32
Guard16 // 1/16
Guard8 // 1/8
Guard4 // 1/4
GuardAuto
Guard128 // 1/128
GuardN128 // 19/128
GuardN256 // 19/256
)
var guardNames = []string{
"1/32",
"1/16",
"1/8",
"1/4",
"auto",
"1/128",
"19/128",
"19/256",
}
func (gi Guard) String() string {
if gi > GuardN256 {
return "unknown"
}
return guardNames[gi]
}
type Hierarchy uint32
const (
HierarchyNone Hierarchy = iota
Hierarchy1
Hierarchy2
Hierarchy4
HierarchyAuto
)
var hierarchyNames = []string{
"none",
"uniform",
"HP/LP=2",
"HP/LP=4",
"auto",
}
func (h Hierarchy) String() string {
if h > HierarchyAuto {
return "unknown"
}
return hierarchyNames[h]
}
// DVB-S2 pilot
type Pilot uint32
const (
PilotOn Pilot = iota
PilotOff
PilotAuto
)
// DVB-S2 rolloff
type Rolloff uint32
const (
Rolloff35 Rolloff = iota // Implied value in DVB-S, default for DVB-S2
Rolloff20
Rolloff25
RolloffAuto
)