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

#include <diseqc.h>

Public Types

enum  eDiseqcActions {
  daNone, daToneOff, daToneOn, daVoltage13,
  daVoltage18, daMiniA, daMiniB, daScr,
  daCodes
}
 
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
 
bool IsScr () 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 * 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 scrBank
 
char * commands
 
bool parsing
 

Detailed Description

Definition at line 43 of file diseqc.h.

Member Enumeration Documentation

anonymous enum
Enumerator
MaxDiseqcCodes 

Definition at line 56 of file diseqc.h.

Enumerator
daNone 
daToneOff 
daToneOn 
daVoltage13 
daVoltage18 
daMiniA 
daMiniB 
daScr 
daCodes 

Definition at line 45 of file diseqc.h.

Constructor & Destructor Documentation

cDiseqc::cDiseqc ( void  )

Definition at line 92 of file diseqc.c.

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

cDiseqc::~cDiseqc ( )

Definition at line 104 of file diseqc.c.

References commands.

Member Function Documentation

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

Definition at line 97 of file diseqc.h.

References commands.

int cDiseqc::Devices ( void  ) const
inline

Definition at line 91 of file diseqc.h.

References devices.

Referenced by cDiseqcs::Get().

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 240 of file diseqc.c.

References commands, daCodes, daMiniA, daMiniB, daNone, daToneOff, daToneOn, daVoltage13, daVoltage18, GetCodes(), GetScrBank(), SetScrFrequency(), SetScrPin(), and Wait().

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

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

Definition at line 199 of file diseqc.c.

References esyslog, MaxDiseqcCodes, and skipspace().

Referenced by Execute().

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

Definition at line 181 of file diseqc.c.

References esyslog, parsing, and scrBank.

Referenced by Execute().

bool cDiseqc::IsScr ( ) const
inline

Definition at line 96 of file diseqc.h.

References scrBank.

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

int cDiseqc::Lof ( void  ) const
inline

Definition at line 95 of file diseqc.h.

References lof.

bool cDiseqc::Parse ( const char *  s)
char cDiseqc::Polarization ( void  ) const
inline

Definition at line 94 of file diseqc.h.

References polarization.

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

Definition at line 142 of file diseqc.c.

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

Referenced by Execute().

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

Definition at line 154 of file diseqc.c.

References cScr::Pin().

Referenced by Execute().

int cDiseqc::Slof ( void  ) const
inline

Definition at line 93 of file diseqc.h.

References slof.

int cDiseqc::Source ( void  ) const
inline

Definition at line 92 of file diseqc.h.

References source.

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

Definition at line 167 of file diseqc.c.

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

Referenced by Execute().

Member Data Documentation

char* cDiseqc::commands
private

Definition at line 64 of file diseqc.h.

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

int cDiseqc::devices
private

Definition at line 58 of file diseqc.h.

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

int cDiseqc::lof
private

Definition at line 62 of file diseqc.h.

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

bool cDiseqc::parsing
private

Definition at line 65 of file diseqc.h.

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

char cDiseqc::polarization
private

Definition at line 61 of file diseqc.h.

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

int cDiseqc::scrBank
mutableprivate

Definition at line 63 of file diseqc.h.

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

int cDiseqc::slof
private

Definition at line 60 of file diseqc.h.

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

int cDiseqc::source
private

Definition at line 59 of file diseqc.h.

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


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