24 virtual void Halt(
void);
43 bool Parse(
const char *s);
44 int Devices(
void)
const {
return devices; }
45 int Channel(
void)
const {
return channel; }
47 int Pin(
void)
const {
return pin; }
48 bool Used(
void)
const {
return used; }
56 bool Load(
const char *FileName,
bool AllowComments =
false,
bool MustExist =
false);
57 cScr *GetUnused(
int Device);
78 enum { MaxDiseqcCodes = 6 };
89 int SetScrFrequency(
int SatFrequency,
const cScr *Scr, uint8_t *Codes)
const;
90 int SetScrPin(
const cScr *Scr, uint8_t *Codes)
const;
91 const char *Wait(
const char *s)
const;
92 const char *GetPosition(
const char *s)
const;
93 const char *GetScrBank(
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);
99 eDiseqcActions Execute(
const char **CurrentAction,
uchar *Codes, uint8_t *MaxCodes,
const cScr *Scr,
int *Frequency)
const;
118 int Source(
void)
const {
return source; }
120 int Slof(
void)
const {
return slof; }
124 int Lof(
void)
const {
return lof; }
132 bool IsScr(
void)
const {
return scrBank >= 0; }
134 const char *
Commands(
void)
const {
return commands; }
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.
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...
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 ...
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.
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.
void SendDiseqc(uint8_t *Codes, int NumCodes)
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 ...