24 virtual void Halt(
void);
43 bool Parse(
const char *s);
56 bool Load(
const char *
FileName,
bool AllowComments =
false,
bool MustExist =
false);
91 const char *
Wait(
const char *s)
const;
94 const char *
GetCodes(
const char *s,
uchar *Codes = NULL, uint8_t *MaxCodes = NULL)
const;
98 bool Parse(
const char *s);
140 bool Load(
const char *
FileName,
bool AllowComments =
false,
bool MustExist =
false);
141 const cDiseqc *
Get(
int Device,
int Source,
int Frequency,
char Polarization,
const cScr **Scr)
const;
virtual void DisableLimits(void)
Disables the soft limits for the dish movement.
bool Parse(const char *s)
virtual void EnableLimits(void)
Enables the soft limits for the dish movement.
virtual void StorePosition(uint Number)
Store the current position as a satellite position with the given Number.
int Position(void) const
Indicates which positioning mode to use in order to move the dish to a given satellite position...
eDiseqcActions 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.
bool IsScr(void) const
Returns true if this DiSEqC sequence uses Satellite Channel Routing.
virtual void Drive(ePositionerDirection Direction)
Continuously move the dish to the given Direction until Halt() is called or it hits the soft or hard ...
const char * FileName(void)
int Devices(void) const
Returns an integer where each bit represents one of the system's devices.
A steerable satellite dish generally points to the south on the northern hemisphere, and to the north on the southern hemisphere (unless you're located directly on the equator, in which case the general direction is "up").
virtual void Halt(void)
Stop any ongoing motion of the dish.
virtual void SetLimit(ePositionerDirection Direction)
Set the soft limit of the dish movement in the given Direction to the current position.
virtual void GotoPosition(uint Number, int Longitude)
Move the dish to the satellite position stored under the given Number.
char Polarization(void) const
Returns the signal polarization this DiSEqC sequence applies to.
virtual void GotoAngle(int Longitude)
Move the dish to the given angular position.
int Lof(void) const
Returns the local oscillator frequency of the LNB this DiSEqC sequence applies to.
const char * Wait(const char *s) const
const char * GetScrBank(const char *s) const
bool Load(const char *FileName, bool AllowComments=false, bool MustExist=false)
const char * GetCodes(const char *s, uchar *Codes=NULL, uint8_t *MaxCodes=NULL) const
int Slof(void) const
Returns the switch frequency of the LNB this DiSEqC sequence applies to.
uint UserBand(void) const
virtual void Step(ePositionerDirection Direction, uint Steps=1)
Move the dish the given number of Steps in the given Direction.
int Source(void) const
Returns the satellite source this DiSEqC sequence applies to.
cScr * GetUnused(int Device)
int SetScrPin(const cScr *Scr, uint8_t *Codes) const
const cDiseqc * Get(int Device, int Source, int Frequency, char Polarization, const cScr **Scr) const
Selects a DiSEqC entry suitable for the given Device and tuning parameters.
uint SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const
const char * GetPosition(const char *s) const
bool Load(const char *FileName, bool AllowComments=false, bool MustExist=false)
void SendDiseqc(uint8_t *Codes, int NumCodes)
bool Parse(const char *s)
const char * Commands(void) const
Returns a pointer to the actual commands of this DiSEqC sequence.
virtual void RecalcPositions(uint Number)
Take the difference between the current actual position of the dish and the position stored with the ...