vdr  1.7.27
Classes | Defines | 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

Defines

#define FE_CAN_TURBO_FEC   0x8000000
#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

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

Define 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 90 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 FE_CAN_TURBO_FEC   0x8000000
#define LOCK_THRESHOLD   5

Definition at line 571 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;\
                          }\
                     }

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 282 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 649 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 185 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 177 of file dvbdevice.c.

References DriverIndex(), and tDvbParameterMap::userString.

Referenced by cDvbDevice::QueryDeliverySystems().

int UserIndex ( int  Value,
const tDvbParameterMap Map 
)

Definition at line 144 of file dvbdevice.c.

References tDvbParameterMap::userValue.

Referenced by MapToDriver().


Variable Documentation

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 46 of file dvbdevice.c.

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 }
  }

Definition at line 56 of file dvbdevice.c.

const char* DeliverySystemNames[]
Initial value:
 {
  "UNDEFINED",
  "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 979 of file dvbdevice.c.

Referenced by cDvbDevice::QueryDeliverySystems().

Definition at line 1583 of file dvbdevice.c.

Referenced by cDvbDevice::Probe().

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 }
  }

Definition at line 115 of file dvbdevice.c.

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 }
  }

Definition at line 127 of file dvbdevice.c.

Initial value:
 {
  {   0, INVERSION_OFF,  trNOOP("off") },
  {   1, INVERSION_ON,   trNOOP("on") },
  { 999, INVERSION_AUTO, trNOOP("auto") },
  {  -1, 0, NULL }
  }

Definition at line 39 of file dvbdevice.c.

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 }
  }

Definition at line 72 of file dvbdevice.c.

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 }
  }

Definition at line 136 of file dvbdevice.c.

Initial value:
 {
  {   0, DVB_SYSTEM_1, "DVB-S" },
  {   1, DVB_SYSTEM_2, "DVB-S2" },
  {  -1, 0, NULL }
  }

Definition at line 92 of file dvbdevice.c.

Initial value:
 {
  {   0, DVB_SYSTEM_1, "DVB-T" },
  {   1, DVB_SYSTEM_2, "DVB-T2" },
  {  -1, 0, NULL }
  }

Definition at line 98 of file dvbdevice.c.

Referenced by cDvbSourceParam::GetOsdItem().

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 }
  }

Definition at line 104 of file dvbdevice.c.