vdr  2.2.0
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, 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
Enumerator
MaxDiseqcCodes 

Definition at line 78 of file diseqc.h.

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 ( void  )

Definition at line 206 of file diseqc.c.

cDiseqc::~cDiseqc ( )

Definition at line 219 of file diseqc.c.

Member Function Documentation

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.

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.

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 esyslog, Setup, and cSetup::UsePositioner.

Referenced by cDvbTuner::ExecuteDiseqc().

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, and skipspace().

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

Definition at line 321 of file diseqc.c.

References esyslog.

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

Definition at line 343 of file diseqc.c.

References esyslog.

bool cDiseqc::IsScr ( void  ) const
inline

Returns true if this DiSEqC sequence uses Satellite Channel Routing.

Definition at line 132 of file diseqc.h.

Referenced by cDvbTuner::ExecuteDiseqc().

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.

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

Returns the signal polarization this DiSEqC sequence applies to.

Definition at line 122 of file diseqc.h.

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.

Referenced by cDvbTuner::ExecuteDiseqc().

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, and cScr::UserBand().

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

Definition at line 281 of file diseqc.c.

References cScr::Pin().

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.

int cDiseqc::Source ( void  ) const
inline

Returns the satellite source this DiSEqC sequence applies to.

Definition at line 118 of file diseqc.h.

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

Definition at line 307 of file diseqc.c.

References esyslog, and cCondWait::SleepMs().

Member Data Documentation

char* cDiseqc::commands
private

Definition at line 87 of file diseqc.h.

int cDiseqc::devices
private

Definition at line 80 of file diseqc.h.

int cDiseqc::lof
private

Definition at line 84 of file diseqc.h.

bool cDiseqc::parsing
private

Definition at line 88 of file diseqc.h.

char cDiseqc::polarization
private

Definition at line 83 of file diseqc.h.

int cDiseqc::position
mutableprivate

Definition at line 85 of file diseqc.h.

int cDiseqc::scrBank
mutableprivate

Definition at line 86 of file diseqc.h.

int cDiseqc::slof
private

Definition at line 82 of file diseqc.h.

int cDiseqc::source
private

Definition at line 81 of file diseqc.h.


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