vdr  2.2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
cDiseqc Class Reference

#include <diseqc.h>

Collaboration diagram for cDiseqc:
[legend]

Public Types

enum  eDiseqcActions {
  daNone, daToneOff, daToneOn, daVoltage13,
  daVoltage18, daMiniA, daMiniB, daPositionN,
  daPositionA, daScr, daCodes, daWait
}
 
enum  { MaxDiseqcCodes = 6 }
 

Public Member Functions

 cDiseqc (void)
 
 ~cDiseqc ()
 
bool Parse (const char *s)
 
eDiseqcActions Execute (const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, uint *Frequency) const
 
int Devices (void) const
 
int Source (void) const
 
int Slof (void) const
 
char Polarization (void) const
 
int Lof (void) const
 
int Position (void) const
 
bool IsScr (void) const
 
const char * Commands (void) const
 
- Public Member Functions inherited from cListObject
 cListObject (void)
 
virtual ~cListObject ()
 
virtual int Compare (const cListObject &ListObject) const
 
void Append (cListObject *Object)
 
void Insert (cListObject *Object)
 
void Unlink (void)
 
int Index (void) const
 
cListObjectPrev (void) const
 
cListObjectNext (void) const
 

Private Member Functions

uint SetScrFrequency (uint SatFrequency, const cScr *Scr, uint8_t *Codes) const
 
int SetScrPin (const cScr *Scr, uint8_t *Codes) const
 
const char * Wait (const char *s) const
 
const char * GetPosition (const char *s) const
 
const char * GetScrBank (const char *s) const
 
const char * GetCodes (const char *s, uchar *Codes=NULL, uint8_t *MaxCodes=NULL) const
 

Private Attributes

int devices
 
int source
 
int slof
 
char polarization
 
int lof
 
int position
 
int scrBank
 
char * commands
 
bool parsing
 

Detailed Description

Definition at line 62 of file diseqc.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MaxDiseqcCodes 

Definition at line 78 of file diseqc.h.

◆ eDiseqcActions

Enumerator
daNone 
daToneOff 
daToneOn 
daVoltage13 
daVoltage18 
daMiniA 
daMiniB 
daPositionN 
daPositionA 
daScr 
daCodes 
daWait 

Definition at line 64 of file diseqc.h.

Constructor & Destructor Documentation

◆ cDiseqc()

cDiseqc::cDiseqc ( void  )

Definition at line 206 of file diseqc.c.

References commands, devices, lof, parsing, polarization, position, scrBank, slof, and source.

◆ ~cDiseqc()

cDiseqc::~cDiseqc ( )

Definition at line 219 of file diseqc.c.

References commands.

Member Function Documentation

◆ Commands()

const char* cDiseqc::Commands ( void  ) const
inline

Returns a pointer to the actual commands of this DiSEqC sequence.

Definition at line 134 of file diseqc.h.

References commands.

◆ Devices()

int cDiseqc::Devices ( void  ) const
inline

Returns an integer where each bit represents one of the system's devices.

If a bit is set, this DiSEqC sequence applies to the corresponding device.

Definition at line 115 of file diseqc.h.

References devices.

◆ Execute()

cDiseqc::eDiseqcActions cDiseqc::Execute ( const char **  CurrentAction,
uchar Codes,
uint8_t *  MaxCodes,
const cScr Scr,
uint *  Frequency 
) const

Parses the DiSEqC commands and returns the appropriate action code with every call.

CurrentAction must be the address of a character pointer, which is initialized to NULL. This pointer is used internally while parsing the commands and shall not be modified once Execute() has been called with it. Call Execute() repeatedly (always providing the same CurrentAction pointer) until it returns daNone. After a successful execution of all commands *CurrentAction points to the value 0x00. If the current action consists of sending code bytes to the device, those bytes will be copied into Codes. MaxCodes must be initialized to the maximum number of bytes Codes can handle, and will be set to the actual number of bytes copied to Codes upon return. If this DiSEqC entry requires SCR, the given Scr will be used. This must be a pointer returned from a previous call to cDiseqcs::Get(). Frequency must be the frequency the tuner will be tuned to, and will be set to the proper SCR frequency upon return (if SCR is used).

Definition at line 402 of file diseqc.c.

References commands, daCodes, daMiniA, daMiniB, daNone, daPositionA, daPositionN, daScr, daToneOff, daToneOn, daVoltage13, daVoltage18, daWait, esyslog, GetCodes(), GetPosition(), GetScrBank(), position, SetScrFrequency(), SetScrPin(), Setup, cSetup::UsePositioner, and Wait().

Referenced by cDvbTuner::ExecuteDiseqc(), and Parse().

◆ GetCodes()

const char * cDiseqc::GetCodes ( const char *  s,
uchar Codes = NULL,
uint8_t *  MaxCodes = NULL 
) const
private

Definition at line 361 of file diseqc.c.

References esyslog, MaxDiseqcCodes, and skipspace().

Referenced by Execute().

◆ GetPosition()

const char * cDiseqc::GetPosition ( const char *  s) const
private

Definition at line 321 of file diseqc.c.

References esyslog, parsing, and position.

Referenced by Execute().

◆ GetScrBank()

const char * cDiseqc::GetScrBank ( const char *  s) const
private

Definition at line 343 of file diseqc.c.

References esyslog, parsing, and scrBank.

Referenced by Execute().

◆ IsScr()

bool cDiseqc::IsScr ( void  ) const
inline

Returns true if this DiSEqC sequence uses Satellite Channel Routing.

Definition at line 132 of file diseqc.h.

References scrBank.

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

◆ Lof()

int cDiseqc::Lof ( void  ) const
inline

Returns the local oscillator frequency of the LNB this DiSEqC sequence applies to.

Definition at line 124 of file diseqc.h.

References lof.

◆ Parse()

bool cDiseqc::Parse ( const char *  s)

◆ Polarization()

char cDiseqc::Polarization ( void  ) const
inline

Returns the signal polarization this DiSEqC sequence applies to.

Definition at line 122 of file diseqc.h.

References polarization.

◆ Position()

int cDiseqc::Position ( void  ) const
inline

Indicates which positioning mode to use in order to move the dish to a given satellite position.

-1 means "no positioning" (i.e. fixed dish); 0 means the positioner can be moved to any arbitrary satellite position (within its limits); and a positive number means "move the dish to the position stored under the given number".

Definition at line 126 of file diseqc.h.

References position.

Referenced by cDvbTuner::ExecuteDiseqc().

◆ SetScrFrequency()

uint cDiseqc::SetScrFrequency ( uint  SatFrequency,
const cScr Scr,
uint8_t *  Codes 
) const
private

Definition at line 256 of file diseqc.c.

References cScr::Channel(), esyslog, scrBank, and cScr::UserBand().

Referenced by Execute().

◆ SetScrPin()

int cDiseqc::SetScrPin ( const cScr Scr,
uint8_t *  Codes 
) const
private

Definition at line 281 of file diseqc.c.

References cScr::Pin().

Referenced by Execute().

◆ Slof()

int cDiseqc::Slof ( void  ) const
inline

Returns the switch frequency of the LNB this DiSEqC sequence applies to.

Definition at line 120 of file diseqc.h.

References slof.

◆ Source()

int cDiseqc::Source ( void  ) const
inline

Returns the satellite source this DiSEqC sequence applies to.

Definition at line 118 of file diseqc.h.

References source.

◆ Wait()

const char * cDiseqc::Wait ( const char *  s) const
private

Definition at line 307 of file diseqc.c.

References esyslog, parsing, and cCondWait::SleepMs().

Referenced by Execute().

Member Data Documentation

◆ commands

char* cDiseqc::commands
private

Definition at line 87 of file diseqc.h.

Referenced by cDiseqc(), Commands(), Execute(), Parse(), and ~cDiseqc().

◆ devices

int cDiseqc::devices
private

Definition at line 80 of file diseqc.h.

Referenced by cDiseqc(), Devices(), and Parse().

◆ lof

int cDiseqc::lof
private

Definition at line 84 of file diseqc.h.

Referenced by cDiseqc(), Lof(), and Parse().

◆ parsing

bool cDiseqc::parsing
private

Definition at line 88 of file diseqc.h.

Referenced by cDiseqc(), GetPosition(), GetScrBank(), Parse(), and Wait().

◆ polarization

char cDiseqc::polarization
private

Definition at line 83 of file diseqc.h.

Referenced by cDiseqc(), Parse(), and Polarization().

◆ position

int cDiseqc::position
mutableprivate

Definition at line 85 of file diseqc.h.

Referenced by cDiseqc(), Execute(), GetPosition(), and Position().

◆ scrBank

int cDiseqc::scrBank
mutableprivate

Definition at line 86 of file diseqc.h.

Referenced by cDiseqc(), GetScrBank(), IsScr(), and SetScrFrequency().

◆ slof

int cDiseqc::slof
private

Definition at line 82 of file diseqc.h.

Referenced by cDiseqc(), Parse(), and Slof().

◆ source

int cDiseqc::source
private

Definition at line 81 of file diseqc.h.

Referenced by cDiseqc(), Parse(), and Source().


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