Go to the documentation of this file.
10 #ifndef __POSITIONER_H
11 #define __POSITIONER_H
171 #endif //__POSITIONER_H
static void DestroyPositioner(void)
Destroys a previously created positioner.
int LastLongitude(void) const
Returns the longitude the dish has last been moved to.
virtual void Step(ePositionerDirection Direction, uint Steps=1)
Move the dish the given number of Steps in the given Direction.
void SetFrontend(int Frontend)
This function is called whenever the positioner is connected to a DVB frontend.
static int NormalizeAngle(int Angle)
Normalizes the given Angle into the range -1800...1800.
virtual void EnableLimits(void)
Enables the soft limits for the dish movement.
int TargetLongitude(void) const
Returns the longitude the dish is supposed to be moved to.
int HardLimitLongitude(ePositionerDirection Direction) const
Returns the longitude of the positioner's hard limit in the given Direction.
virtual void GotoPosition(uint Number, int Longitude)
Move the dish to the satellite position stored under the given Number.
virtual int CurrentLongitude(void) const
Returns the longitude the dish currently points to.
virtual void RecalcPositions(uint Number)
Take the difference between the current actual position of the dish and the position stored with the ...
static cPositioner * positioner
virtual void DisableLimits(void)
Disables the soft limits for the dish movement.
static cPositioner * GetPositioner(void)
Returns a previously created positioner.
virtual void Halt(void)
Stop any ongoing motion of the dish.
virtual bool IsMoving(void) const
Returns true if the dish is currently moving as a result of a call to GotoPosition() or GotoAngle().
virtual cString Error(void) const
Returns a short, single line string indicating an error condition (if the positioner is able to repor...
A steerable satellite dish generally points to the south on the northern hemisphere,...
virtual void SetLimit(ePositionerDirection Direction)
Set the soft limit of the dish movement in the given Direction to the current position.
virtual void GotoAngle(int Longitude)
Move the dish to the given angular position.
virtual void StorePosition(uint Number)
Store the current position as a satellite position with the given Number.
void SetCapabilities(int Capabilities)
A derived class shall call this function in its constructor to set the capability flags it supports.
static int HorizonLongitude(ePositionerDirection Direction)
Returns the longitude of the satellite position that is just at the horizon when looking in the given...
static int CalcLongitude(int HourAngle)
Returns the longitude of the satellite position the dish points at when the positioner is moved to th...
void StartMovementTimer(int Longitude)
Starts a timer that estimates how long it will take to move the dish from the current position to the...
int Frontend(void) const
Returns the file descriptor of the DVB frontend the positioner is connected to.
int Capabilities(void) const
Returns a flag word defining all the things this positioner is capable of.
static int CalcHourAngle(int Longitude)
Takes the longitude and latitude of the dish location from the system setup and the given Longitude t...
virtual void Drive(ePositionerDirection Direction)
Continuously move the dish to the given Direction until Halt() is called or it hits the soft or hard ...