vdr  2.2.0
Classes | Macros | Functions | Variables
dvbdevice.c File Reference
#include "dvbdevice.h"
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <linux/dvb/dmx.h>
#include <linux/dvb/frontend.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include "channels.h"
#include "diseqc.h"
#include "dvbci.h"
#include "menuitems.h"
#include "sourceparams.h"

Go to the source code of this file.

Classes

class  cDvbTuner
 
class  cDvbSourceParam
 

Macros

#define DVBS_TUNE_TIMEOUT   9000
 
#define DVBS_LOCK_TIMEOUT   2000
 
#define DVBC_TUNE_TIMEOUT   9000
 
#define DVBC_LOCK_TIMEOUT   2000
 
#define DVBT_TUNE_TIMEOUT   9000
 
#define DVBT_LOCK_TIMEOUT   2000
 
#define ATSC_TUNE_TIMEOUT   9000
 
#define ATSC_LOCK_TIMEOUT   2000
 
#define SCR_RANDOM_TIMEOUT   500
 
#define DVB_SYSTEM_1   0
 
#define DVB_SYSTEM_2   1
 
#define ST(s)   if (strchr(s, Type) && (strchr(s, '0' + system + 1) || strchr(s, '*')))
 
#define TUNER_POLL_TIMEOUT   10
 
#define LOCK_THRESHOLD   5
 
#define MAXFRONTENDCMDS   16
 
#define SETCMD(c, d)
 
#define ST(s)   if (strchr(s, type))
 

Functions

int UserIndex (int Value, const tDvbParameterMap *Map)
 
int DriverIndex (int Value, const tDvbParameterMap *Map)
 
int MapToUser (int Value, const tDvbParameterMap *Map, const char **String)
 
const char * MapToUserString (int Value, const tDvbParameterMap *Map)
 
int MapToDriver (int Value, const tDvbParameterMap *Map)
 
static unsigned int FrequencyToHz (unsigned int f)
 
static int GetRequiredDeliverySystem (const cChannel *Channel, const cDvbTransponderParameters *Dtp)
 

Variables

static int DvbApiVersion = 0x0000
 
const tDvbParameterMap PilotValues []
 
const tDvbParameterMap InversionValues []
 
const tDvbParameterMap BandwidthValues []
 
const tDvbParameterMap CoderateValues []
 
const tDvbParameterMap ModulationValues []
 
const tDvbParameterMap SystemValuesSat []
 
const tDvbParameterMap SystemValuesTerr []
 
const tDvbParameterMap TransmissionValues []
 
const tDvbParameterMap GuardValues []
 
const tDvbParameterMap HierarchyValues []
 
const tDvbParameterMap RollOffValues []
 
const char * DeliverySystemNames []
 
cList< cDvbDeviceProbeDvbDeviceProbes
 

Macro Definition Documentation

#define ATSC_LOCK_TIMEOUT   2000

Definition at line 33 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define ATSC_TUNE_TIMEOUT   9000

Definition at line 32 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVB_SYSTEM_1   0
#define DVB_SYSTEM_2   1

Definition at line 97 of file dvbdevice.c.

#define DVBC_LOCK_TIMEOUT   2000

Definition at line 29 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVBC_TUNE_TIMEOUT   9000

Definition at line 28 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVBS_LOCK_TIMEOUT   2000

Definition at line 27 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVBS_TUNE_TIMEOUT   9000

Definition at line 26 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVBT_LOCK_TIMEOUT   2000

Definition at line 31 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define DVBT_TUNE_TIMEOUT   9000

Definition at line 30 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

#define LOCK_THRESHOLD   5

Definition at line 590 of file dvbdevice.c.

Referenced by cDvbTuner::GetSignalQuality().

#define MAXFRONTENDCMDS   16

Referenced by cDvbTuner::SetFrontend().

#define SCR_RANDOM_TIMEOUT   500

Definition at line 35 of file dvbdevice.c.

Referenced by cDvbTuner::Action().

#define SETCMD (   c,
 
)
Value:
{ Frontend[CmdSeq.num].cmd = (c);\
Frontend[CmdSeq.num].u.data = (d);\
if (CmdSeq.num++ > MAXFRONTENDCMDS) {\
esyslog("ERROR: too many tuning commands on frontend %d/%d", adapter, frontend);\
return false;\
}\
}
#define MAXFRONTENDCMDS

Referenced by cDvbDevice::QueryDeliverySystems(), and cDvbTuner::SetFrontend().

#define ST (   s)    if (strchr(s, Type) && (strchr(s, '0' + system + 1) || strchr(s, '*')))
#define ST (   s)    if (strchr(s, type))
#define TUNER_POLL_TIMEOUT   10

Definition at line 301 of file dvbdevice.c.

Referenced by cDvbTuner::ClearEventQueue().

Function Documentation

int DriverIndex ( int  Value,
const tDvbParameterMap Map 
)
static unsigned int FrequencyToHz ( unsigned int  f)
static

Definition at line 686 of file dvbdevice.c.

Referenced by cDvbTuner::SetFrontend().

static int GetRequiredDeliverySystem ( const cChannel Channel,
const cDvbTransponderParameters Dtp 
)
static
int MapToDriver ( int  Value,
const tDvbParameterMap Map 
)

Definition at line 192 of file dvbdevice.c.

References tDvbParameterMap::driverValue, and UserIndex().

Referenced by cDvbTransponderParameters::ParseParameter().

int MapToUser ( int  Value,
const tDvbParameterMap Map,
const char **  String 
)
const char* MapToUserString ( int  Value,
const tDvbParameterMap Map 
)

Definition at line 184 of file dvbdevice.c.

References DriverIndex(), and tDvbParameterMap::userString.

Referenced by cDvbDevice::QueryDeliverySystems().

int UserIndex ( int  Value,
const tDvbParameterMap Map 
)

Definition at line 151 of file dvbdevice.c.

References tDvbParameterMap::userValue.

Referenced by MapToDriver().

Variable Documentation

const tDvbParameterMap BandwidthValues[]
Initial value:
= {
{ 5, 5000000, "5 MHz" },
{ 6, 6000000, "6 MHz" },
{ 7, 7000000, "7 MHz" },
{ 8, 8000000, "8 MHz" },
{ 10, 10000000, "10 MHz" },
{ 1712, 1712000, "1.712 MHz" },
{ -1, 0, NULL }
}

Definition at line 53 of file dvbdevice.c.

const tDvbParameterMap CoderateValues[]
Initial value:
= {
{ 0, FEC_NONE, trNOOP("none") },
{ 12, FEC_1_2, "1/2" },
{ 23, FEC_2_3, "2/3" },
{ 34, FEC_3_4, "3/4" },
{ 35, FEC_3_5, "3/5" },
{ 45, FEC_4_5, "4/5" },
{ 56, FEC_5_6, "5/6" },
{ 67, FEC_6_7, "6/7" },
{ 78, FEC_7_8, "7/8" },
{ 89, FEC_8_9, "8/9" },
{ 910, FEC_9_10, "9/10" },
{ 999, FEC_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 63 of file dvbdevice.c.

const char* DeliverySystemNames[]
Initial value:
= {
"",
"DVB-C",
"DVB-C",
"DVB-T",
"DSS",
"DVB-S",
"DVB-S2",
"DVB-H",
"ISDBT",
"ISDBS",
"ISDBC",
"ATSC",
"ATSCMH",
"DMBTH",
"CMMB",
"DAB",
"DVB-T2",
"TURBO",
NULL
}

Definition at line 1073 of file dvbdevice.c.

Referenced by cDvbDevice::DeviceType(), and cDvbDevice::QueryDeliverySystems().

int DvbApiVersion = 0x0000
static

Definition at line 24 of file dvbdevice.c.

Referenced by cDvbDevice::QueryDeliverySystems(), and cDvbTuner::SetFrontend().

cList<cDvbDeviceProbe> DvbDeviceProbes

Definition at line 1719 of file dvbdevice.c.

Referenced by cDvbDevice::Probe().

const tDvbParameterMap GuardValues[]
Initial value:
= {
{ 4, GUARD_INTERVAL_1_4, "1/4" },
{ 8, GUARD_INTERVAL_1_8, "1/8" },
{ 16, GUARD_INTERVAL_1_16, "1/16" },
{ 32, GUARD_INTERVAL_1_32, "1/32" },
{ 128, GUARD_INTERVAL_1_128, "1/128" },
{ 19128, GUARD_INTERVAL_19_128, "19/128" },
{ 19256, GUARD_INTERVAL_19_256, "19/256" },
{ 999, GUARD_INTERVAL_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 122 of file dvbdevice.c.

const tDvbParameterMap HierarchyValues[]
Initial value:
= {
{ 0, HIERARCHY_NONE, trNOOP("none") },
{ 1, HIERARCHY_1, "1" },
{ 2, HIERARCHY_2, "2" },
{ 4, HIERARCHY_4, "4" },
{ 999, HIERARCHY_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 134 of file dvbdevice.c.

const tDvbParameterMap InversionValues[]
Initial value:
= {
{ 0, INVERSION_OFF, trNOOP("off") },
{ 1, INVERSION_ON, trNOOP("on") },
{ 999, INVERSION_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 46 of file dvbdevice.c.

const tDvbParameterMap ModulationValues[]
Initial value:
= {
{ 16, QAM_16, "QAM16" },
{ 32, QAM_32, "QAM32" },
{ 64, QAM_64, "QAM64" },
{ 128, QAM_128, "QAM128" },
{ 256, QAM_256, "QAM256" },
{ 2, QPSK, "QPSK" },
{ 5, PSK_8, "8PSK" },
{ 6, APSK_16, "16APSK" },
{ 7, APSK_32, "32APSK" },
{ 10, VSB_8, "VSB8" },
{ 11, VSB_16, "VSB16" },
{ 12, DQPSK, "DQPSK" },
{ 999, QAM_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 79 of file dvbdevice.c.

const tDvbParameterMap PilotValues[]
Initial value:
= {
{ 0, PILOT_OFF, trNOOP("off") },
{ 1, PILOT_ON, trNOOP("on") },
{ 999, PILOT_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 39 of file dvbdevice.c.

const tDvbParameterMap RollOffValues[]
Initial value:
= {
{ 0, ROLLOFF_AUTO, trNOOP("auto") },
{ 20, ROLLOFF_20, "0.20" },
{ 25, ROLLOFF_25, "0.25" },
{ 35, ROLLOFF_35, "0.35" },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 143 of file dvbdevice.c.

const tDvbParameterMap SystemValuesSat[]
Initial value:
= {
{ 0, DVB_SYSTEM_1, "DVB-S" },
{ 1, DVB_SYSTEM_2, "DVB-S2" },
{ -1, 0, NULL }
}
#define DVB_SYSTEM_1
Definition: dvbdevice.c:96
#define DVB_SYSTEM_2
Definition: dvbdevice.c:97

Definition at line 99 of file dvbdevice.c.

const tDvbParameterMap SystemValuesTerr[]
Initial value:
= {
{ 0, DVB_SYSTEM_1, "DVB-T" },
{ 1, DVB_SYSTEM_2, "DVB-T2" },
{ -1, 0, NULL }
}
#define DVB_SYSTEM_1
Definition: dvbdevice.c:96
#define DVB_SYSTEM_2
Definition: dvbdevice.c:97

Definition at line 105 of file dvbdevice.c.

Referenced by cDvbSourceParam::GetOsdItem().

const tDvbParameterMap TransmissionValues[]
Initial value:
= {
{ 1, TRANSMISSION_MODE_1K, "1K" },
{ 2, TRANSMISSION_MODE_2K, "2K" },
{ 4, TRANSMISSION_MODE_4K, "4K" },
{ 8, TRANSMISSION_MODE_8K, "8K" },
{ 16, TRANSMISSION_MODE_16K, "16K" },
{ 32, TRANSMISSION_MODE_32K, "32K" },
{ 999, TRANSMISSION_MODE_AUTO, trNOOP("auto") },
{ -1, 0, NULL }
}
#define trNOOP(s)
Definition: i18n.h:88

Definition at line 111 of file dvbdevice.c.