10 #ifndef __POSITIONER_H 11 #define __POSITIONER_H 171 #endif //__POSITIONER_H 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 Step(ePositionerDirection Direction, uint Steps=1)
Move the dish the given number of Steps in the given Direction.
int LastLongitude(void) const
Returns the longitude the dish has last been moved to.
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.
virtual void GotoPosition(uint Number, int Longitude)
Move the dish to the satellite position stored under the given Number.
int TargetLongitude(void) const
Returns the longitude the dish is supposed to be moved to.
void SetFrontend(int Frontend)
This function is called whenever the positioner is connected to a DVB frontend.
static cPositioner * positioner
static cPositioner * GetPositioner(void)
Returns a previously created positioner.
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 GotoAngle(int Longitude)
Move the dish to the given angular position.
virtual void RecalcPositions(uint Number)
Take the difference between the current actual position of the dish and the position stored with the ...
virtual cString Error(void) const
Returns a short, single line string indicating an error condition (if the positioner is able to repor...
virtual void DisableLimits(void)
Disables the soft limits for the dish movement.
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 void SetLimit(ePositionerDirection Direction)
Set the soft limit of the dish movement in the given Direction to the current position.
virtual int CurrentLongitude(void) const
Returns the longitude the dish currently points to.
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.
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 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...
static int HorizonLongitude(ePositionerDirection Direction)
Returns the longitude of the satellite position that is just at the horizon when looking in the given...
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 HardLimitLongitude(ePositionerDirection Direction) const
Returns the longitude of the positioner's hard limit in the given Direction.
static void DestroyPositioner(void)
Destroys a previously created positioner.