vdr
2.2.0
|
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 |
const cChannel * | GetTransponder (void) const |
uint32_t | SubsystemId (void) const |
bool | IsTunedTo (const cChannel *Channel) const |
void | SetChannel (const cChannel *Channel) |
bool | Locked (int TimeoutMs=0) |
const cPositioner * | Positioner (void) const |
int | GetSignalStrength (void) const |
int | GetSignalQuality (void) const |
![]() | |
cThread (const char *Description=NULL, bool LowPriority=false) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
Private Types | |
enum | eTunerStatus { tsIdle, tsSet, tsPositioning, tsTuned, tsLocked } |
Private Member Functions | |
bool | SetFrontendType (const cChannel *Channel) |
cString | GetBondingParams (const cChannel *Channel=NULL) const |
cDvbTuner * | GetBondedMaster (void) |
bool | IsBondedMaster (void) const |
void | ClearEventQueue (void) const |
bool | GetFrontendStatus (fe_status_t &Status) const |
cPositioner * | GetPositioner (void) |
void | ExecuteDiseqc (const cDiseqc *Diseqc, unsigned int *Frequency) |
void | ResetToneAndVoltage (void) |
bool | SetFrontend (void) |
virtual void | Action (void) |
Private Attributes | |
int | frontendType |
const cDvbDevice * | device |
int | fd_frontend |
int | adapter |
int | frontend |
uint32_t | subsystemId |
int | tuneTimeout |
int | lockTimeout |
time_t | lastTimeoutReport |
cChannel | channel |
const cDiseqc * | lastDiseqc |
int | diseqcOffset |
int | lastSource |
cPositioner * | positioner |
const cScr * | scr |
bool | lnbPowerTurnedOn |
eTunerStatus | tunerStatus |
cMutex | mutex |
cCondVar | locked |
cCondVar | newSet |
cDvbTuner * | bondedTuner |
bool | bondedMaster |
Static Private Attributes | |
static cMutex | bondMutex |
Additional Inherited Members | |
![]() | |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Definition at line 303 of file dvbdevice.c.
|
private |
Enumerator | |
---|---|
tsIdle | |
tsSet | |
tsPositioning | |
tsTuned | |
tsLocked |
Definition at line 306 of file dvbdevice.c.
cDvbTuner::cDvbTuner | ( | const cDvbDevice * | Device, |
int | Fd_Frontend, | ||
int | Adapter, | ||
int | Frontend | ||
) |
Definition at line 358 of file dvbdevice.c.
References cDvbDeviceProbe::GetSubsystemId().
|
virtual |
Definition at line 382 of file dvbdevice.c.
|
privatevirtual |
A derived cThread class must implement the code it wants to execute as a separate thread in this function.
If this is a loop, it must check Running() repeatedly to see whether it's time to stop.
Implements cThread.
Definition at line 929 of file dvbdevice.c.
References esyslog, isyslog, SCR_RANDOM_TIMEOUT, cTimeMs::Set(), and cTimeMs::TimedOut().
bool cDvbTuner::Bond | ( | cDvbTuner * | Tuner | ) |
Definition at line 397 of file dvbdevice.c.
References adapter, bondedTuner, dsyslog, esyslog, and frontend.
Referenced by cDvbDevice::Bond().
bool cDvbTuner::BondingOk | ( | const cChannel * | Channel, |
bool | ConsiderOccupied = false |
||
) | const |
Definition at line 446 of file dvbdevice.c.
References IDLEPRIORITY.
|
private |
Definition at line 538 of file dvbdevice.c.
References cPoller::Poll(), and TUNER_POLL_TIMEOUT.
|
private |
Definition at line 702 of file dvbdevice.c.
References CHECK, cDiseqc::daCodes, cDiseqc::daMiniA, cDiseqc::daMiniB, cDiseqc::daNone, cDiseqc::daPositionA, cDiseqc::daPositionN, cDiseqc::daScr, cDiseqc::daToneOff, cDiseqc::daToneOn, cDiseqc::daVoltage13, cDiseqc::daVoltage18, cDiseqc::daWait, esyslog, cDiseqc::Execute(), cPositioner::GotoAngle(), cPositioner::GotoPosition(), cPositioner::IsMoving(), cDiseqc::IsScr(), cMutex::Lock(), cSource::Position(), cDiseqc::Position(), and cMutex::Unlock().
|
inline |
Definition at line 342 of file dvbdevice.c.
|
private |
Definition at line 462 of file dvbdevice.c.
References dsyslog.
Definition at line 429 of file dvbdevice.c.
References cSetup::DiSEqC, Diseqcs, cChannel::Frequency(), cDiseqcs::Get(), cSetup::LnbSLOF, cChannel::Parameters(), Setup, cChannel::Source(), and cString::sprintf().
Referenced by SetChannel().
|
private |
Definition at line 548 of file dvbdevice.c.
|
private |
Definition at line 693 of file dvbdevice.c.
References cPositioner::GetPositioner().
int cDvbTuner::GetSignalQuality | ( | void | ) | const |
Definition at line 592 of file dvbdevice.c.
References constrain(), and LOCK_THRESHOLD.
int cDvbTuner::GetSignalStrength | ( | void | ) | const |
Definition at line 563 of file dvbdevice.c.
|
inline |
Definition at line 346 of file dvbdevice.c.
|
inlineprivate |
Definition at line 331 of file dvbdevice.c.
bool cDvbTuner::IsTunedTo | ( | const cChannel * | Channel | ) | const |
Definition at line 483 of file dvbdevice.c.
References cChannel::Parameters(), cChannel::Source(), and cChannel::Transponder().
bool cDvbTuner::Locked | ( | int | TimeoutMs = 0 | ) |
Definition at line 526 of file dvbdevice.c.
|
inline |
Definition at line 351 of file dvbdevice.c.
References bondMutex.
|
private |
Definition at line 759 of file dvbdevice.c.
References CHECK.
void cDvbTuner::SetChannel | ( | const cChannel * | Channel | ) |
Definition at line 493 of file dvbdevice.c.
References bondedTuner, cDevice::DelLivePids(), GetBondingParams(), cDevice::PrimaryDevice(), and SetChannel().
Referenced by SetChannel().
|
private |
Definition at line 781 of file dvbdevice.c.
References ATSC_LOCK_TIMEOUT, ATSC_TUNE_TIMEOUT, CHECK, cSetup::DiSEqC, Diseqcs, DTV_DVBT2_PLP_ID_LEGACY, DTV_STREAM_ID, DvbApiVersion, DVBC_LOCK_TIMEOUT, DVBC_TUNE_TIMEOUT, DVBS_LOCK_TIMEOUT, DVBS_TUNE_TIMEOUT, DVBT_LOCK_TIMEOUT, DVBT_TUNE_TIMEOUT, esyslog, FrequencyToHz(), cDiseqcs::Get(), GetRequiredDeliverySystem(), cSetup::LnbFrequHi, cSetup::LnbFrequLo, cSetup::LnbSLOF, MAXFRONTENDCMDS, SETCMD, Setup, and SYS_DVBT2.
|
private |
|
inline |
Definition at line 347 of file dvbdevice.c.
void cDvbTuner::UnBond | ( | void | ) |
Definition at line 413 of file dvbdevice.c.
References dsyslog.
|
private |
Definition at line 310 of file dvbdevice.c.
Referenced by Bond().
|
private |
Definition at line 327 of file dvbdevice.c.
|
private |
Definition at line 326 of file dvbdevice.c.
Referenced by Bond(), and SetChannel().
|
staticprivate |
Definition at line 305 of file dvbdevice.c.
Referenced by Positioner().
|
private |
Definition at line 315 of file dvbdevice.c.
|
private |
Definition at line 308 of file dvbdevice.c.
|
private |
Definition at line 317 of file dvbdevice.c.
|
private |
Definition at line 309 of file dvbdevice.c.
|
private |
Definition at line 310 of file dvbdevice.c.
Referenced by Bond().
|
private |
Definition at line 307 of file dvbdevice.c.
|
private |
Definition at line 316 of file dvbdevice.c.
|
private |
Definition at line 318 of file dvbdevice.c.
|
private |
Definition at line 314 of file dvbdevice.c.
|
private |
Definition at line 321 of file dvbdevice.c.
|
private |
Definition at line 324 of file dvbdevice.c.
|
private |
Definition at line 313 of file dvbdevice.c.
|
private |
Definition at line 323 of file dvbdevice.c.
|
private |
Definition at line 325 of file dvbdevice.c.
|
private |
Definition at line 319 of file dvbdevice.c.
|
private |
Definition at line 320 of file dvbdevice.c.
|
private |
Definition at line 311 of file dvbdevice.c.
|
private |
Definition at line 322 of file dvbdevice.c.
|
private |
Definition at line 312 of file dvbdevice.c.