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 uint SetScrFrequency(uint 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, uint *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.
bool IsScr(void) const
Returns true if this DiSEqC sequence uses Satellite Channel Routing.
uint UserBand(void) const
int Position(void) const
Indicates which positioning mode to use in order to move the dish to a given satellite position...
char Polarization(void) const
Returns the signal polarization this DiSEqC sequence applies to.
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.
virtual void Drive(ePositionerDirection Direction)
Continuously move the dish to the given Direction until Halt() is called or it hits the soft or hard ...
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.
int Slof(void) const
Returns the switch frequency of the LNB this DiSEqC sequence applies to.
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.
virtual void GotoAngle(int Longitude)
Move the dish to the given angular position.
int Devices(void) const
Returns an integer where each bit represents one of the system's devices.
virtual void Step(ePositionerDirection Direction, uint Steps=1)
Move the dish the given number of Steps in the given Direction.
const char * Commands(void) const
Returns a pointer to the actual commands of this DiSEqC sequence.
void SendDiseqc(uint8_t *Codes, int NumCodes)
int Lof(void) const
Returns the local oscillator frequency of the LNB this DiSEqC sequence applies to.
int Source(void) const
Returns the satellite source this DiSEqC sequence applies to.
virtual void RecalcPositions(uint Number)
Take the difference between the current actual position of the dish and the position stored with the ...