vdr  1.7.31
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
cDvbTuner Class Reference

Public Member Functions

 cDvbTuner (const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend)
virtual ~cDvbTuner ()
int FrontendType (void) const
bool Bond (cDvbTuner *Tuner)
void UnBond (void)
bool BondingOk (const cChannel *Channel, bool ConsiderOccupied=false) const
cDvbTunerGetBondedMaster (void)
const cChannelGetTransponder (void) const
uint32_t SubsystemId (void) const
bool IsTunedTo (const cChannel *Channel) const
void SetChannel (const cChannel *Channel)
bool Locked (int TimeoutMs=0)
int GetSignalStrength (void) const
int GetSignalQuality (void) const
- Public Member Functions inherited from cThread
 cThread (const char *Description=NULL)
virtual ~cThread ()
void SetDescription (const char *Description,...) __attribute__((format(printf
void bool Start (void)
bool Active (void)
 cThread (const char *Description=NULL)
virtual ~cThread ()
void SetDescription (const char *Description,...) __attribute__((format(printf
void bool Start (void)
bool Active (void)

Private Types

enum  eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked }

Private Member Functions

bool SetFrontendType (const cChannel *Channel)
cString GetBondingParams (const cChannel *Channel=NULL) const
void ClearEventQueue (void) const
bool GetFrontendStatus (fe_status_t &Status) const
void ExecuteDiseqc (const cDiseqc *Diseqc, unsigned int *Frequency)
void ResetToneAndVoltage (void)
bool SetFrontend (void)
virtual void Action (void)

Private Attributes

int frontendType
const cDvbDevicedevice
int fd_frontend
int adapter
int frontend
uint32_t subsystemId
int tuneTimeout
int lockTimeout
time_t lastTimeoutReport
cChannel channel
const cDiseqclastDiseqc
const cScrscr
bool lnbPowerTurnedOn
eTunerStatus tunerStatus
cMutex mutex
cCondVar locked
cCondVar newSet
cDvbTunerbondedTuner
bool bondedMaster

Static Private Attributes

static cMutex bondMutex

Additional Inherited Members

- Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
static tThreadId IsMainThread (void)
static void SetMainThreadId (void)
static tThreadId ThreadId (void)
static tThreadId IsMainThread (void)
static void SetMainThreadId (void)
- Protected Member Functions inherited from cThread
void SetPriority (int Priority)
void SetIOPriority (int Priority)
void Lock (void)
void Unlock (void)
virtual void Action (void)=0
bool Running (void)
void Cancel (int WaitSeconds=0)
void SetPriority (int Priority)
void SetIOPriority (int Priority)
void Lock (void)
void Unlock (void)
virtual void Action (void)=0
bool Running (void)
void Cancel (int WaitSeconds=0)

Detailed Description

Definition at line 284 of file dvbdevice.c.

Member Enumeration Documentation

Enumerator:
tsIdle 
tsSet 
tsTuned 
tsLocked 

Definition at line 287 of file dvbdevice.c.

Constructor & Destructor Documentation

cDvbTuner::cDvbTuner ( const cDvbDevice Device,
int  Fd_Frontend,
int  Adapter,
int  Frontend 
)
cDvbTuner::~cDvbTuner ( )
virtual

Definition at line 354 of file dvbdevice.c.

References cCondVar::Broadcast(), cThread::Cancel(), locked, newSet, tsIdle, tunerStatus, and UnBond().

Member Function Documentation

void cDvbTuner::Action ( void  )
privatevirtual
bool cDvbTuner::Bond ( cDvbTuner Tuner)

Definition at line 369 of file dvbdevice.c.

References adapter, bondedMaster, bondedTuner, bondMutex, dsyslog, esyslog, frontend, and ResetToneAndVoltage().

Referenced by cDvbDevice::Bond().

bool cDvbTuner::BondingOk ( const cChannel Channel,
bool  ConsiderOccupied = false 
) const

Definition at line 418 of file dvbdevice.c.

References bondedTuner, bondMutex, GetBondingParams(), and IDLEPRIORITY.

Referenced by cDvbDevice::BondingOk().

void cDvbTuner::ClearEventQueue ( void  ) const
private

Definition at line 509 of file dvbdevice.c.

References fd_frontend, cPoller::Poll(), and TUNER_POLL_TIMEOUT.

Referenced by GetFrontendStatus(), and GetSignalStrength().

void cDvbTuner::ExecuteDiseqc ( const cDiseqc Diseqc,
unsigned int *  Frequency 
)
private
int cDvbTuner::FrontendType ( void  ) const
inline

Definition at line 317 of file dvbdevice.c.

References frontendType.

Referenced by cDvbDevice::DeviceType().

cDvbTuner * cDvbTuner::GetBondedMaster ( void  )

Definition at line 434 of file dvbdevice.c.

References adapter, bondedMaster, bondedTuner, bondMutex, dsyslog, and frontend.

Referenced by SetChannel(), and SetFrontend().

cString cDvbTuner::GetBondingParams ( const cChannel Channel = NULL) const
private
bool cDvbTuner::GetFrontendStatus ( fe_status_t &  Status) const
private

Definition at line 519 of file dvbdevice.c.

References ClearEventQueue(), and fd_frontend.

Referenced by Action(), and GetSignalQuality().

int cDvbTuner::GetSignalQuality ( void  ) const

Definition at line 561 of file dvbdevice.c.

References adapter, fd_frontend, frontend, GetFrontendStatus(), LOCK_THRESHOLD, and subsystemId.

Referenced by cDvbDevice::SignalQuality().

int cDvbTuner::GetSignalStrength ( void  ) const

Definition at line 534 of file dvbdevice.c.

References adapter, ClearEventQueue(), fd_frontend, frontend, and subsystemId.

Referenced by cDvbDevice::SignalStrength().

const cChannel* cDvbTuner::GetTransponder ( void  ) const
inline

Definition at line 322 of file dvbdevice.c.

References channel.

Referenced by cDvbDevice::GetCurrentlyTunedTransponder().

bool cDvbTuner::IsTunedTo ( const cChannel Channel) const
bool cDvbTuner::Locked ( int  TimeoutMs = 0)

Definition at line 497 of file dvbdevice.c.

References locked, mutex, cCondVar::TimedWait(), tsLocked, and tunerStatus.

Referenced by cDvbDevice::HasLock().

void cDvbTuner::ResetToneAndVoltage ( void  )
private

Definition at line 677 of file dvbdevice.c.

References CHECK, and fd_frontend.

Referenced by Bond(), ExecuteDiseqc(), SetChannel(), and SetFrontend().

void cDvbTuner::SetChannel ( const cChannel Channel)
bool cDvbTuner::SetFrontend ( void  )
private
bool cDvbTuner::SetFrontendType ( const cChannel Channel)
private
uint32_t cDvbTuner::SubsystemId ( void  ) const
inline

Definition at line 323 of file dvbdevice.c.

References subsystemId.

void cDvbTuner::UnBond ( void  )

Definition at line 385 of file dvbdevice.c.

References adapter, bondedMaster, bondedTuner, bondMutex, dsyslog, and frontend.

Referenced by cDvbDevice::UnBond(), and ~cDvbTuner().

Member Data Documentation

int cDvbTuner::adapter
private
bool cDvbTuner::bondedMaster
private

Definition at line 305 of file dvbdevice.c.

Referenced by Bond(), cDvbTuner(), GetBondedMaster(), and UnBond().

cDvbTuner* cDvbTuner::bondedTuner
private

Definition at line 304 of file dvbdevice.c.

Referenced by Bond(), BondingOk(), cDvbTuner(), GetBondedMaster(), SetChannel(), and UnBond().

cMutex cDvbTuner::bondMutex
staticprivate

Definition at line 286 of file dvbdevice.c.

Referenced by Bond(), BondingOk(), GetBondedMaster(), SetChannel(), and UnBond().

cChannel cDvbTuner::channel
private
const cDvbDevice* cDvbTuner::device
private

Definition at line 289 of file dvbdevice.c.

Referenced by cDvbTuner(), GetBondingParams(), SetChannel(), and SetFrontend().

int cDvbTuner::fd_frontend
private
int cDvbTuner::frontend
private
int cDvbTuner::frontendType
private

Definition at line 288 of file dvbdevice.c.

Referenced by cDvbTuner(), FrontendType(), and SetFrontend().

const cDiseqc* cDvbTuner::lastDiseqc
private

Definition at line 297 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), and SetFrontend().

time_t cDvbTuner::lastTimeoutReport
private

Definition at line 295 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), and SetChannel().

bool cDvbTuner::lnbPowerTurnedOn
private

Definition at line 299 of file dvbdevice.c.

Referenced by cDvbTuner(), and ExecuteDiseqc().

cCondVar cDvbTuner::locked
private

Definition at line 302 of file dvbdevice.c.

Referenced by Action(), Locked(), and ~cDvbTuner().

int cDvbTuner::lockTimeout
private

Definition at line 294 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), and SetFrontend().

cMutex cDvbTuner::mutex
private

Definition at line 301 of file dvbdevice.c.

Referenced by Action(), Locked(), and SetChannel().

cCondVar cDvbTuner::newSet
private

Definition at line 303 of file dvbdevice.c.

Referenced by Action(), SetChannel(), and ~cDvbTuner().

const cScr* cDvbTuner::scr
private

Definition at line 298 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), ExecuteDiseqc(), and SetFrontend().

uint32_t cDvbTuner::subsystemId
private

Definition at line 292 of file dvbdevice.c.

Referenced by cDvbTuner(), GetSignalQuality(), GetSignalStrength(), and SubsystemId().

eTunerStatus cDvbTuner::tunerStatus
private

Definition at line 300 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), IsTunedTo(), Locked(), SetChannel(), and ~cDvbTuner().

int cDvbTuner::tuneTimeout
private

Definition at line 293 of file dvbdevice.c.

Referenced by Action(), cDvbTuner(), and SetFrontend().


The documentation for this class was generated from the following file: