vdr
2.6.9
|
#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, int *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 |
![]() | |
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 |
cListObject * | Prev (void) const |
cListObject * | Next (void) const |
Private Member Functions | |
int | SetScrFrequency (int 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 |
cDiseqc::cDiseqc | ( | void | ) |
|
inline |
|
inline |
cDiseqc::eDiseqcActions cDiseqc::Execute | ( | const char ** | CurrentAction, |
uchar * | Codes, | ||
uint8_t * | MaxCodes, | ||
const cScr * | Scr, | ||
int * | 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().
|
private |
Definition at line 361 of file diseqc.c.
References esyslog, MaxDiseqcCodes, and skipspace().
Referenced by Execute().
|
private |
|
private |
|
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().
|
inline |
bool cDiseqc::Parse | ( | const char * | s | ) |
Definition at line 224 of file diseqc.c.
References commands, CurrentDevices, daNone, devices, esyslog, Execute(), cSource::FromString(), cSources::Get(), IsDeviceNumbers(), lof, ParseDeviceNumbers(), parsing, polarization, slof, source, and Sources.
|
inline |
Returns the signal polarization this DiSEqC sequence applies to.
Definition at line 122 of file diseqc.h.
References polarization.
|
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().
|
private |
Definition at line 256 of file diseqc.c.
References cScr::Channel(), esyslog, scrBank, and cScr::UserBand().
Referenced by Execute().
|
private |
|
inline |
|
inline |
|
private |
|
private |
Definition at line 87 of file diseqc.h.
Referenced by cDiseqc(), Commands(), Execute(), Parse(), and ~cDiseqc().
|
private |
|
private |
|
private |
Definition at line 88 of file diseqc.h.
Referenced by cDiseqc(), GetPosition(), GetScrBank(), Parse(), and Wait().
|
private |
Definition at line 83 of file diseqc.h.
Referenced by cDiseqc(), Parse(), and Polarization().
|
mutableprivate |
Definition at line 85 of file diseqc.h.
Referenced by cDiseqc(), Execute(), GetPosition(), and Position().
|
mutableprivate |
Definition at line 86 of file diseqc.h.
Referenced by cDiseqc(), GetScrBank(), IsScr(), and SetScrFrequency().
|
private |
|
private |