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
QPTelescopeController Class Reference

The concrete telescope controller. More...

Inheritance diagram for QPTelescopeController:
TelescopeController

Public Member Functions

void up (float v, bool arm_timeout=false) OVERRIDE
 Command the controller to slew directly upwards, at a fraction v of the maximum/reference elevation speed. More...
 
void east (float v, bool arm_timeout=false) OVERRIDE
 Command the controller to slew directly eastwards, at a fraction v of the maximum/reference azimuthal speed. More...
 
void stop (void) OVERRIDE
 Stop the telescope's motion. More...
 
double curr_az_speed (void) const OVERRIDE
 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).
 
double curr_alt_speed (void) const OVERRIDE
 The current latitudinal speed, as a fractional speed, in the range [-1,1], with positive indicating that the telescope is moving upwards.
 
double phi (void) const
 The current azimuthal angular position of the telescope. More...
 
double theta (void) const
 The current angular altitude of the telescope. More...
 
void reset_at_home (void)
 Note that the telescope is now physically at the home position. More...
 
int curr_az_speed_int (void) const
 The current commanded azimuthal speed, as an integer. More...
 
int curr_alt_speed_int (void) const
 The current commanded altitude speed, as an integer. More...
 
float eastmost_phi (void) const OVERRIDE
 Longitude of the eastmost endstop. More...
 
float westmost_phi (void) const OVERRIDE
 Longitude of the westmost endstop. More...
 
float lowest_altitude (void) const OVERRIDE
 Altitude of the telescope's greatest depression. More...
 
float endstop_clearance (void) const OVERRIDE
 How close may the telescope come to its endstop. More...
 
- Public Member Functions inherited from TelescopeController
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.
 

Detailed Description

The concrete telescope controller.

Member Function Documentation

int QPTelescopeController::curr_alt_speed_int ( void  ) const
inline

The current commanded altitude speed, as an integer.

This is the speed sent to the motor, in the range [-255, +255].

int QPTelescopeController::curr_az_speed_int ( void  ) const
inline

The current commanded azimuthal speed, as an integer.

This is the speed sent to the motor, in the range [-255, +255].

void QPTelescopeController::east ( float  v,
bool  arm_timeout = false 
)
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

Implements TelescopeController.

float QPTelescopeController::eastmost_phi ( void  ) const
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]

Implements TelescopeController.

float QPTelescopeController::endstop_clearance ( void  ) const
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

Implements TelescopeController.

float QPTelescopeController::lowest_altitude ( void  ) const
virtual

Altitude of the telescope's greatest depression.

Returns
radians north of horizontal

Implements TelescopeController.

double QPTelescopeController::phi ( void  ) const
inlinevirtual

The current azimuthal angular position of the telescope.

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

Returns
angular position, radians

Implements TelescopeController.

void QPTelescopeController::reset_at_home ( void  )
virtual

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

The notion of angular position is reset as such.

Implements TelescopeController.

void QPTelescopeController::stop ( void  )
virtual

Stop the telescope's motion.

Implements TelescopeController.

double QPTelescopeController::theta ( void  ) const
inlinevirtual

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

Implements TelescopeController.

void QPTelescopeController::up ( float  v,
bool  arm_timeout = false 
)
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

Implements TelescopeController.

float QPTelescopeController::westmost_phi ( void  ) const
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]

Implements TelescopeController.


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