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

Activity: track a point on the celestial sphere through a sidereal rotation. More...

#include <activities.h>

Inheritance diagram for TrackSidereal:
ScheduleFollowing Activity

Public Member Functions

 TrackSidereal (TelescopeController *, State *, Position obs, double speed=0.0)
 Create a tracking activity. More...
 
ms_t start (ms_t)
 The activity will be started by the main loop calling the start function. More...
 
- Public Member Functions inherited from ScheduleFollowing
virtual void cancel (void)
 Cancel the activity. More...
 
virtual ms_t poke (ms_t t)
 From time to time, the main loop will 'poke' this activity, by calling this function. More...
 
virtual void at_endstop (ms_t t, int az_click_count, int alt_click_count)
 The method called when the system detects a timeout, at the limit of an axis's travel. More...
 
- Public Member Functions inherited from Activity
virtual void az_click (ms_t t, double azimuth)
 The method called when the system detects an azimuthal click. More...
 
virtual void alt_click (ms_t t, double altitude)
 The method called when the system detects an altitude click. More...
 
bool is_complete (void) const
 Return true if the activity is complete. More...
 
bool is_valid (void) const
 Return true if the activity is valid. More...
 
ActivityTypes type (void)
 Return the type of Activity.
 

Additional Inherited Members

- Public Types inherited from Activity
enum  ActivityTypes {
  BaseActivity, CalibrationActivity, ScheduleFollowingActivity, DriveAzAltActivity,
  TrackSiderealActivity, TrackAzimuthActivity
}
 The activity types here correspond to the this class and its subclasses. More...
 
- Static Public Member Functions inherited from Activity
static void * operator new (size_t size)
 Allocate space for an Activity. More...
 
static void operator delete (void *p)
 Deallocate an Activity.
 
static int max_activities (void)
 Return the maximum number of activities it's possible to have allocated at one time. More...
 
static int n_activities (void)
 Return the number of currently allocated activities. More...
 
static void delete_all_allocations (void)
 Delete all activity allocations. More...
 
- Protected Member Functions inherited from ScheduleFollowing
 ScheduleFollowing (TelescopeController *, State *, ActivityTypes)
 Create an instance of the activity.
 
- Protected Member Functions inherited from Activity
void mark_as_complete (void)
 Set to true by a derived class when its work is done. More...
 
void mark_as_invalid (void)
 Mark the activity as invalid. More...
 
 Activity (TelescopeController *, State *, ActivityTypes)
 Construct an activity base-class.
 
- Protected Attributes inherited from Activity
State *const state
 The state which we are to manipulate.
 
TelescopeController *const controller
 The controller object provides methods for physically moving the telescope.
 
byte activity_status
 The internal status of the object: complete / invalid. More...
 

Detailed Description

Activity: track a point on the celestial sphere through a sidereal rotation.

Constructor & Destructor Documentation

TrackSidereal::TrackSidereal ( TelescopeController tc,
State state,
Position  obs,
double  speed = 0.0 
)

Create a tracking activity.

This requires observatory location, and the speed at which the telescope is to track. By default, it tracks at one sidereal day per solar day.

Parameters
tca pointer to the telescope control object
statethe current state of the telescope
obsthe observatory position, as a Position::Geog position
speedthe rotation speed clockwise about the celestial pole (ie, this will be negative for sidereal tracking); if this is given as zero, then we track at one sidereal day per solar day

Member Function Documentation

ms_t TrackSidereal::start ( ms_t  now)
virtual

The activity will be started by the main loop calling the start function.

Returns
the time at which the activity should next be poked (return TIME_NEVER to avoid being poked again).
See also
poke(ms_t)

Reimplemented from ScheduleFollowing.


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