MythTV
master
|
LNB Class. More...
#include <libmythtv/diseqc.h>
Public Types | |
enum | dvbdev_lnb_t : std::uint8_t { kTypeFixed = 0, kTypeVoltageControl = 1, kTypeVoltageAndToneControl = 2, kTypeBandstacked = 3 } |
Public Types inherited from DiSEqCDevDevice | |
enum | dvbdev_t : std::uint8_t { kTypeSwitch = 0, kTypeRotor = 1, kTypeSCR = 2, kTypeLNB = 3 } |
Public Member Functions | |
DiSEqCDevLNB (DiSEqCDevTree &tree, uint devid) | |
bool | Execute (const DiSEqCDevSettings &settings, const DTVMultiplex &tuning) override |
Applies DiSEqC settings to this node and any children. More... | |
bool | Load (void) override |
Loads this device from the database. More... | |
bool | Store (void) const override |
void | SetType (dvbdev_lnb_t type) |
void | SetLOFSwitch (uint lof_switch) |
void | SetLOFHigh (uint lof_hi) |
void | SetLOFLow (uint lof_lo) |
void | SetPolarityInverted (bool inv) |
dvbdev_lnb_t | GetType (void) const |
uint | GetLOFSwitch (void) const |
uint | GetLOFHigh (void) const |
uint | GetLOFLow (void) const |
bool | IsPolarityInverted (void) const |
bool | IsHighBand (const DTVMultiplex &tuning) const |
Determine if the high frequency band is active (for switchable LNBs). More... | |
bool | IsHorizontal (const DTVMultiplex &tuning) const |
Determine if horizontal polarity is active (for switchable LNBs). More... | |
uint32_t | GetIntermediateFrequency (const DiSEqCDevSettings &settings, const DTVMultiplex &tuning) const |
Calculate proper intermediate frequency for the given settings and tuning parameters. More... | |
uint | GetVoltage (const DiSEqCDevSettings &settings, const DTVMultiplex &tuning) const override |
Retrives the desired voltage for this config. More... | |
Public Member Functions inherited from DiSEqCDevDevice | |
DiSEqCDevDevice (DiSEqCDevTree &tree, uint devid) | |
virtual | ~DiSEqCDevDevice () |
virtual void | Reset (void) |
Resets to the last known settings for this device. More... | |
void | SetDeviceType (dvbdev_t type) |
void | SetParent (DiSEqCDevDevice *parent) |
void | SetOrdinal (uint ordinal) |
void | SetDescription (const QString &desc) |
void | SetRepeatCount (uint repeat) |
virtual bool | SetChild (uint, DiSEqCDevDevice *) |
Changes the nth child of this node. More... | |
dvbdev_t | GetDeviceType (void) const |
uint | GetDeviceID (void) const |
bool | IsRealDeviceID (void) const |
DiSEqCDevDevice * | GetParent (void) const |
uint | GetOrdinal (void) const |
QString | GetDescription (void) const |
uint | GetRepeatCount (void) const |
virtual uint | GetChildCount (void) const |
Retrieves the proper number of children for this node. More... | |
virtual bool | IsCommandNeeded (const DiSEqCDevSettings &, const DTVMultiplex &) const |
Determines if this device or any child will be sending a command for the given configuration chain. More... | |
DiSEqCDevDevice * | FindDevice (uint dev_id) |
virtual DiSEqCDevDevice * | GetSelectedChild (const DiSEqCDevSettings &) const |
Retrieves the selected child for this configuration, if any. More... | |
virtual DiSEqCDevDevice * | GetChild (uint) |
Retrieves the nth child of this node. More... | |
Static Public Member Functions | |
static QString | LNBTypeToString (dvbdev_lnb_t type) |
static dvbdev_lnb_t | LNBTypeFromString (const QString &type) |
Static Public Member Functions inherited from DiSEqCDevDevice | |
static QString | DevTypeToString (dvbdev_t type) |
static dvbdev_t | DevTypeFromString (const QString &type) |
static DiSEqCDevDevice * | CreateById (DiSEqCDevTree &tree, uint devid) |
static DiSEqCDevDevice * | CreateByType (DiSEqCDevTree &tree, dvbdev_t type, uint dev_id=0) |
Private Attributes | |
dvbdev_lnb_t | m_type {kTypeVoltageAndToneControl} |
uint | m_lofSwitch {11700000} |
uint | m_lofHi {10600000} |
uint | m_lofLo { 9750000} |
bool | m_polInv {false} |
If a signal is circularly polarized the polarity will flip on each reflection, so antenna systems with an even number of reflectors will need to set this value. More... | |
Static Private Attributes | |
static const TypeTableVec | kLNBTypeTable |
Additional Inherited Members | |
Protected Types inherited from DiSEqCDevDevice | |
using | TypeTableVec = std::vector< TypeTable > |
Protected Member Functions inherited from DiSEqCDevDevice | |
void | SetDeviceID (uint devid) const |
Static Protected Member Functions inherited from DiSEqCDevDevice | |
static QString | TableToString (uint type, const TypeTableVec &table) |
static uint | TableFromString (const QString &type, const TypeTableVec &table) |
Protected Attributes inherited from DiSEqCDevDevice | |
uint | m_devid |
dvbdev_t | m_devType {kTypeLNB} |
QString | m_desc |
DiSEqCDevTree & | m_tree |
DiSEqCDevDevice * | m_parent {nullptr} |
uint | m_ordinal {0} |
uint | m_repeat {1} |
enum DiSEqCDevLNB::dvbdev_lnb_t : std::uint8_t |
|
inline |
|
overridevirtual |
Applies DiSEqC settings to this node and any children.
settings | Configuration chain to apply. |
tuning | Tuning parameters. |
Implements DiSEqCDevDevice.
Definition at line 2368 of file diseqc.cpp.
|
overridevirtual |
Loads this device from the database.
Implements DiSEqCDevDevice.
Definition at line 2391 of file diseqc.cpp.
|
overridevirtual |
Stores this device to the database.
Implements DiSEqCDevDevice.
Definition at line 2421 of file diseqc.cpp.
|
inline |
Definition at line 465 of file diseqc.h.
Referenced by LNBTypeSetting::Save().
|
inline |
Definition at line 466 of file diseqc.h.
Referenced by LNBLOFSwitchSetting::Save().
|
inline |
Definition at line 467 of file diseqc.h.
Referenced by LNBLOFHighSetting::Save().
|
inline |
Definition at line 468 of file diseqc.h.
Referenced by LNBLOFLowSetting::Save().
|
inline |
Definition at line 469 of file diseqc.h.
Referenced by LNBPolarityInvertedSetting::Save().
|
inline |
Definition at line 472 of file diseqc.h.
Referenced by FindPreset(), and LNBTypeSetting::Load().
|
inline |
Definition at line 473 of file diseqc.h.
Referenced by FindPreset(), and LNBLOFSwitchSetting::Load().
|
inline |
Definition at line 474 of file diseqc.h.
Referenced by FindPreset(), and LNBLOFHighSetting::Load().
|
inline |
Definition at line 475 of file diseqc.h.
Referenced by FindPreset(), and LNBLOFLowSetting::Load().
|
inline |
Definition at line 476 of file diseqc.h.
Referenced by FindPreset(), IsHorizontal(), and LNBPolarityInvertedSetting::Load().
bool DiSEqCDevLNB::IsHighBand | ( | const DTVMultiplex & | tuning | ) | const |
Determine if the high frequency band is active (for switchable LNBs).
tuning | Tuning parameters. |
Definition at line 2491 of file diseqc.cpp.
Referenced by DiSEqCDevSCR::Execute(), Execute(), DiSEqCDevSwitch::ExecuteDiseqc(), GetIntermediateFrequency(), and DiSEqCDevSwitch::ShouldSwitch().
bool DiSEqCDevLNB::IsHorizontal | ( | const DTVMultiplex & | tuning | ) | const |
Determine if horizontal polarity is active (for switchable LNBs).
tuning | Tuning parameters. |
Definition at line 2511 of file diseqc.cpp.
Referenced by DiSEqCDevSCR::Execute(), DiSEqCDevSwitch::ExecuteDiseqc(), DiSEqCDevSwitch::ExecuteLegacy(), GetVoltage(), IsHighBand(), and DiSEqCDevSwitch::ShouldSwitch().
uint32_t DiSEqCDevLNB::GetIntermediateFrequency | ( | const DiSEqCDevSettings & | settings, |
const DTVMultiplex & | tuning | ||
) | const |
Calculate proper intermediate frequency for the given settings and tuning parameters.
settings | Configuration chain in effect. |
tuning | Tuning parameters. |
Definition at line 2523 of file diseqc.cpp.
Referenced by DiSEqCDevSCR::Execute(), and DVBChannel::Tune().
|
overridevirtual |
Retrives the desired voltage for this config.
settings | Configuration chain in effect. |
tuning | Tuning parameters. |
Implements DiSEqCDevDevice.
Definition at line 2377 of file diseqc.cpp.
|
inlinestatic |
|
inlinestatic |
|
private |
Definition at line 492 of file diseqc.h.
Referenced by Execute(), GetType(), GetVoltage(), IsHighBand(), Load(), SetType(), and Store().
|
private |
Definition at line 493 of file diseqc.h.
Referenced by GetLOFSwitch(), IsHighBand(), Load(), SetLOFSwitch(), and Store().
|
private |
Definition at line 494 of file diseqc.h.
Referenced by GetIntermediateFrequency(), GetLOFHigh(), Load(), SetLOFHigh(), and Store().
|
private |
Definition at line 495 of file diseqc.h.
Referenced by GetIntermediateFrequency(), GetLOFLow(), Load(), SetLOFLow(), and Store().
If a signal is circularly polarized the polarity will flip on each reflection, so antenna systems with an even number of reflectors will need to set this value.
Definition at line 499 of file diseqc.h.
Referenced by IsPolarityInverted(), Load(), SetPolarityInverted(), and Store().
|
staticprivate |
Definition at line 501 of file diseqc.h.
Referenced by LNBTypeFromString(), and LNBTypeToString().