QP  0.7-SNAPSHOT
Control software for the ??SRT telescope
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | List of all members
TelescopeController Class Referenceabstract

A class for controlling the telescope. More...

#include <qp.h>

Inheritance diagram for TelescopeController:
QPTelescopeController

Public Member Functions

virtual void up (float v, bool arm_timeout=false)=0
 Command the controller to slew directly upwards, at a fraction v of the maximum/reference elevation speed. More...
 
virtual void east (float v, bool arm_timeout=false)=0
 Command the controller to slew directly eastwards, at a fraction v of the maximum/reference azimuthal speed. More...
 
virtual void stop (void)=0
 Stop the telescope's motion. More...
 
virtual double curr_az_speed (void) const =0
 The current azimuthal speed, as a fractional speed, in the range [-1,1], with positive indicating that the telescope is moving east (that is, clockwise around the pole, in the direction of increasing phi, but decreasing azimuth).
 
virtual double curr_alt_speed (void) const =0
 The current latitudinal speed, as a fractional speed, in the range [-1,1], with positive indicating that the telescope is moving upwards.
 
virtual double phi (void) const =0
 The current azimuthal angular position of the telescope. More...
 
virtual double theta (void) const =0
 The current angular altitude of the telescope. More...
 
Quaternion T (void) const
 Return the current pointing of the state, as a vector in AzAlt coordinates.
 
Position position (Position::System)
 Return the current position of the state, as a Position object.
 
virtual void reset_at_home (void)=0
 Note that the telescope is now physically at the home position. More...
 
virtual float eastmost_phi (void) const =0
 Longitude of the eastmost endstop. More...
 
virtual float westmost_phi (void) const =0
 Longitude of the westmost endstop. More...
 
virtual float lowest_altitude (void) const =0
 Altitude of the telescope's greatest depression. More...
 
virtual float endstop_clearance (void) const =0
 How close may the telescope come to its endstop. More...
 

Detailed Description

A class for controlling the telescope.

This exists to export a few functions from the main qp.ino module.

This is a pure virtual class, so that it can be subclassed differently in actual and in test code.

Member Function Documentation

virtual void TelescopeController::east ( float  v,
bool  arm_timeout = false 
)
pure virtual

Command the controller to slew directly eastwards, at a fraction v of the maximum/reference azimuthal speed.

Parameters
vthe velocity relative to the maximum possible; set negative to go westwards
arm_timeoutif true (default false) the endstop-timeout function will be called if the motion reaches that endstop

Implemented in QPTelescopeController.

virtual float TelescopeController::eastmost_phi ( void  ) const
pure virtual

Longitude of the eastmost endstop.

The 'eastmost endstop' is the one we hit after travelling east.

Returns
radians east of south, in [-pi,pi]

Implemented in QPTelescopeController.

virtual float TelescopeController::endstop_clearance ( void  ) const
pure virtual

How close may the telescope come to its endstop.

The distance here is a distance in the coordinate perpendicular to the endstop; thus a difference in longitude for the azimuthal endstops, and in latitude for the depression endstop.

Returns
radians

Implemented in QPTelescopeController.

virtual float TelescopeController::lowest_altitude ( void  ) const
pure virtual

Altitude of the telescope's greatest depression.

Returns
radians north of horizontal

Implemented in QPTelescopeController.

virtual double TelescopeController::phi ( void  ) const
pure virtual

The current azimuthal angular position of the telescope.

This is the phi of spherical polars, as radians east of south.

Returns
angular position, radians

Implemented in QPTelescopeController.

virtual void TelescopeController::reset_at_home ( void  )
pure virtual

Note that the telescope is now physically at the home position.

The notion of angular position is reset as such.

Implemented in QPTelescopeController.

virtual void TelescopeController::stop ( void  )
pure virtual

Stop the telescope's motion.

Implemented in QPTelescopeController.

virtual double TelescopeController::theta ( void  ) const
pure virtual

The current angular altitude of the telescope.

This is the theta of (one convention for) spherical polars, as radians zenithwards of the equator.

Returns
angular position, radians

Implemented in QPTelescopeController.

virtual void TelescopeController::up ( float  v,
bool  arm_timeout = false 
)
pure virtual

Command the controller to slew directly upwards, at a fraction v of the maximum/reference elevation speed.

Parameters
vthe velocity relative to the maximum possible; set negative to go down
arm_timeoutif true (default false) the endstop-timeout function will be called if the motion reaches that endstop

Implemented in QPTelescopeController.

virtual float TelescopeController::westmost_phi ( void  ) const
pure virtual

Longitude of the westmost endstop.

The 'westmost endstop' is the one we hit after travelling west.

Returns
radians east of south, in [-pi,pi]

Implemented in QPTelescopeController.


The documentation for this class was generated from the following file: