11 #include <linux/dvb/frontend.h>
19 #define DVB_SYSTEM_1 0 // see also dvbdevice.c
20 #define DVB_SYSTEM_2 1
47 for (
int i = 0; i <
numNits; i++) {
51 for (
int j = 0; j <
numNits; j++) {
52 if (
nits[j].hasTransponder) {
106 int Frequencies[NumFrequencies];
114 case 1: f =
BCD2INT(f) / 100;
break;
115 case 2: f =
BCD2INT(f) / 10;
break;
116 case 3: f = f * 10;
break;
119 Frequencies[n++] = f;
134 static char Polarizations[] = {
'H',
'V',
'L',
'R' };
136 static int CodeRates[] = { FEC_NONE, 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_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
138 static int Modulations[] = { QAM_AUTO, QPSK, PSK_8, QAM_16 };
141 static int RollOffs[] = { ROLLOFF_35, ROLLOFF_25, ROLLOFF_20, ROLLOFF_AUTO };
145 for (
int n = 0; n < NumFrequencies; n++) {
156 bool forceTransponderUpdate =
false;
162 for (
int n = 0; n < NumFrequencies; n++) {
164 Frequency = Frequencies[n];
172 forceTransponderUpdate =
true;
175 if (!found || forceTransponderUpdate) {
176 for (
int n = 0; n < NumFrequencies; n++) {
209 static int CodeRates[] = { FEC_NONE, 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_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
211 static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
215 for (
int n = 0; n < NumFrequencies; n++) {
226 bool forceTransponderUpdate =
false;
232 for (
int n = 0; n < NumFrequencies; n++) {
234 Frequency = Frequencies[n];
242 forceTransponderUpdate =
true;
245 if (!found || forceTransponderUpdate) {
246 for (
int n = 0; n < NumFrequencies; n++) {
262 int Frequency = Frequencies[0] = sd->
getFrequency() * 10;
263 static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 };
265 static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
268 static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
270 static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO };
273 static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
275 static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO };
278 for (
int n = 0; n < NumFrequencies; n++) {
289 bool forceTransponderUpdate =
false;
295 for (
int n = 0; n < NumFrequencies; n++) {
297 Frequency = Frequencies[n];
305 forceTransponderUpdate =
true;
308 if (!found || forceTransponderUpdate) {
309 for (
int n = 0; n < NumFrequencies; n++) {
337 static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 };
void SetId(int Nid, int Tid, int Sid, int Rid=0)
int getModulation() const
void SetTransmission(int Transmission)
int getOrbitalPosition() const
void SetPolarization(char Polarization)
int getGuardInterval() const
int getTransportStreamId() const
int getWestEastFlag() const
int getExtendedDataFlag() const
int getModulationType() const
const cChannel * Channel(void)
Returns the channel of the data delivered to this filter.
int getSymbolRate() const
bool GroupSep(void) const
int getTransmissionMode() const
DescriptorTag getDescriptorTag() const
int getExtensionDescriptorTag() const
cSectionSyncer sectionSyncer
int Transponder(void) const
Returns the transponder frequency in MHz, plus the polarization in case of sat.
cString ToString(char Type) const
void SetCoderateH(int CoderateH)
const char * Parameters(void) const
void SetRollOff(int RollOff)
DescriptorLoop transportStreamDescriptors
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet=false)
DescriptorLoop commonDescriptors
int getSectionNumber() const
bool Sync(uchar Version, int Number, int LastNumber)
char Polarization(void) const
T * Next(const T *object) const
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
Processes the data delivered to this filter.
int getCodingType() const
#define ISTRANSPONDER(f1, f2)
int getModulationSystem() const
void SetSystem(int System)
int Source(void)
Returns the source of the data delivered to this filter.
int getOriginalNetworkId() const
StructureLoop< TransportStream > transportStreamLoop
int getCodeRateLP() const
static bool IsSat(int Code)
bool Lock(bool Write, int TimeoutMs=0)
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int Frequency(void) const
Returns the actual frequency, as given in 'channels.conf'.
bool hasNext(Iterator &it)
T getNext(Iterator &it) const
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int getCodeRateHP() const
int getVersionNumber() const
int getConstellation() const
int getInputStreamIdentifier() const
int getLastSectionNumber() const
char name[MAXNETWORKNAME]
void SetHierarchy(int Hierarchy)
int getTransmissionMode() const
int Transponder(void)
Returns the transponder of the data delivered to this filter.
void Set(u_short Pid, u_char Tid, u_char Mask=0xFF)
Sets the given filter data by calling Add() with Sticky = true.
void SetCoderateL(int CoderateL)
int getSymbolRate() const
void AddTransponder(cChannel *Channel)
static int FromData(eSourceType SourceType, int Position=0, bool East=false)
int getGuardInterval() const
int getPolarization() const
TypeLoop< ThirtyTwoBit > frequencies
Descriptor * getNext(Iterator &it)
void SetBandwidth(int Bandwidth)
void SetModulation(int Modulation)