My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
gcp::antenna::control::TrackerMsg Class Reference
Inheritance diagram for gcp::antenna::control::TrackerMsg:
gcp::util::GenericTaskMsg

Public Types

enum  MsgType {
  COLLIMATION, CONNECT_DRIVE, DISCONNECT_DRIVE, ENCODER_CALS,
  ENCODER_LIMITS, ENCODER_ZEROS, EXTEND_EQNEQX, EXTEND_UT1UTC,
  FLAG_BOARD, FLEXURE, HALT, LOCATION,
  SITE, OFFSET, REBOOT_DRIVE, SHUTDOWN,
  REFRACTION, RESTART, SCAN, SELECT_MODEL,
  SLEW, SLEWRATE, START_TIMER, STOP_TIMER,
  STROBE_SERVO, TICK, TILTS, TRACK,
  TV_ANGLE, YEAR, WEATHER, RX,
  BENCH_ZERO_POSITION, BENCH_OFFSET, BENCH_USE_BRAKES, BENCH_SET_ACQUIRED_THRESHOLD,
  BENCH_SET_FOCUS, TILT_METER_CORRECTION, TILT_METER_OFFSET, TILT_METER_ANGLE,
  TILT_METER_RANGE, TILT_METER_MOVING_AVERAGE_INTERVAL, LINEAR_SENSOR_CORRECTION, LINEAR_SENSOR_OFFSET,
  LINEAR_SENSOR_RANGE, LINEAR_SENSOR_MOVING_AVERAGE_INTERVAL, STOP, TEST_TRACK_TIME,
  SPECIFIC_SERVO_COMMAND
}
 
enum  SpecMsgType { SERVO_INITIALIZE_ANTENNA, SERVO_HARD_STOP, SERVO_DISABLE_PADS, SERVO_LOAD_PARAMETERS }
 
- Public Types inherited from gcp::util::GenericTaskMsg
enum  GenericMsgType {
  HEARTBEAT, STOP, RESTART, TASK_SPECIFIC,
  LAST
}
 

Public Member Functions

void packBenchZeroPositionMsg (unsigned int seq, double y1, double y2, double y3, double x4, double x5, double z6)
 
void packBenchOffsetMsg (unsigned int seq, double y1, double y2, double y3, double x4, double x5, double z6)
 
void packBenchUseBrakesMsg (unsigned int seq, bool use_brakes)
 
void packBenchSetAcquiredThresholdMsg (unsigned int seq, double threshold)
 
void packBenchSetFocusMsg (unsigned int seq, double focus)
 
void packConnectDriveMsg ()
 
void packTickMsg (gcp::util::TimeVal &time)
 
void packDisconnectDriveMsg ()
 
void packRebootDriveMsg (unsigned long seq)
 
void packTiltMeterCorrectionMsg (bool enable)
 
void packTiltMeterOffsetMsg (double x, double y)
 
void packTiltMeterAngleMsg (double angle)
 
void packTiltMeterRangeMsg (double maxAngle)
 
void packTiltMeterMovingAverageIntervalMsg (double interval)
 
void packLinearSensorCorrectionMsg (bool enable)
 
void packLinearSensorOffsetMsg (double L1, double L2, double R1, double R2)
 
void packLinearSensorRangeMsg (double maxDistance)
 
void packLinearSensorMovingAverageIntervalMsg (double interval)
 
void packScanMsg (std::string name, int seq, unsigned nreps, unsigned istart, unsigned ibody, unsigned iend, unsigned npt, unsigned msPerSample, unsigned *index, unsigned *flag, int *azoff, int *eloff, bool add)
 
void packStopMsg ()
 
void packShutdownDriveMsg ()
 
void packSlewMsg (unsigned long seq, std::string source, gcp::util::Axis::Type axes, gcp::util::Tracking::SlewType slewType, double az, double el, double pa)
 
void packHaltMsg (unsigned long seq)
 
void packTrackMsg (unsigned long seq, std::string source, double mjd, double ra, double dec, double dist)
 
void packOffsetMsg (unsigned long seq, gcp::util::OffsetMsg offset)
 
void packTvAngleMsg (double angle)
 
void packEncoderZerosMsg (unsigned long seq, double az, double el, double dk)
 
void packEncoderCountsPerTurnMsg (unsigned long seq, long az, long el, long dk)
 
void packRefractionMsg (gcp::util::PointingMode::Type mode, double a, double b)
 
void packRestartMsg ()
 
void packExtendUt1UtcMsg (double mjd, double ut1utc)
 
void packExtendEqnEqxMsg (double mjd, double eqneqx)
 
void packSlewRateMsg (unsigned long seq, gcp::util::Axis::Type axes, long az, long el, long dk)
 
void packStrobeMsg (gcp::util::TimeVal &time)
 
void packTiltsMsg (unsigned long seq, double ha, double lat, double el)
 
void packFlexureMsg (unsigned long seq, gcp::util::PointingMode::Type mode, double sFlexure, double cFlexure, gcp::util::PointingTelescopes::Ptel ptelMask)
 
void packCollimationMsg (unsigned long seq, gcp::util::PointingMode::Type mode, double x, double y, gcp::util::Collimation::Type collType, double mag, double dir, gcp::util::OffsetMsg::Mode addMode, gcp::util::PointingTelescopes::Ptel ptelMask)
 
void packEncoderLimitsMsg (unsigned long seq, long az_min, long az_max, long el_min, long el_max, long pa_min, long pa_max)
 
void packSelectModelMsg (unsigned long seq, gcp::util::PointingMode::Type mode, gcp::util::PointingTelescopes::Ptel ptelMask)
 
void packYearMsg (short year)
 
void packSiteMsg (double lon, double lat, double alt)
 
void packLocationMsg (double north, double east, double up)
 
void packFlagBoardMsg (unsigned short board, bool flag)
 
void packWeatherMsg (double airTempInK, double relHumidityInMax1, double pressureInMbar)
 
void packTestTrackTimeMsg (unsigned sec, unsigned msec)
 
void packServoCmdMsg (unsigned cmdId, float fltVal, int intVal, float *fltVals)
 

Public Attributes

MsgType type
 
union {
   struct {
      unsigned long   seq
 
   }   rebootDrive
 
   struct {
      char   name [SCAN_LEN]
 
      int   seq
 
      unsigned   nreps
 
      unsigned   istart
 
      unsigned   ibody
 
      unsigned   iend
 
      unsigned   npt
 
      unsigned   msPerSample
 
      unsigned   flag [SCAN_NET_NPT]
 
      unsigned   index [SCAN_NET_NPT]
 
      int   azoff [SCAN_NET_NPT]
 
      int   eloff [SCAN_NET_NPT]
 
      int   dkoff [SCAN_NET_NPT]
 
      bool   add
 
   }   scan
 
   struct {
      unsigned long   seq
 
      gcp::util::Axis::Type   axes
 
      gcp::util::Tracking::SlewType   slewType
 
      char   source [SRC_LEN]
 
      double   az
 
      double   el
 
      double   pa
 
   }   slew
 
   struct {
      unsigned long   seq
 
   }   halt
 
   struct {
      unsigned long   mjdDays
 
      unsigned long   mjdSeconds
 
   }   tick
 
   struct {
      unsigned long   mjdDays
 
      unsigned long   mjdSeconds
 
   }   strobe
 
   struct {
      unsigned long   seq
 
      char   source [SRC_LEN]
 
      double   mjd
 
      double   ra
 
      double   dec
 
      double   dist
 
   }   track
 
   struct {
      unsigned long   seq
 
      gcp::util::OffsetMsg   offset
 
   }   offset
 
   struct {
      double   angle
 
   }   tvAngle
 
   struct {
      gcp::util::PointingMode::Type   mode
 
      double   a
 
      double   b
 
   }   refraction
 
   struct {
      double   mjd
 
      double   ut1utc
 
   }   extendUt1Utc
 
   struct {
      double   mjd
 
      double   eqneqx
 
   }   extendEqnEqx
 
   struct {
      unsigned long   seq
 
      gcp::util::Axis::Type   axes
 
      long   az
 
      long   el
 
      long   dk
 
   }   slewRate
 
   struct {
      unsigned long   seq
 
      double   ha
 
      double   lat
 
      double   el
 
   }   tilts
 
   struct {
      unsigned long   seq
 
      gcp::util::PointingMode::Type   mode
 
      double   sFlexure
 
      double   cFlexure
 
      gcp::util::PointingTelescopes::Ptel   ptelMask
 
   }   flexure
 
   struct {
      unsigned long   seq
 
      gcp::util::PointingMode::Type   mode
 
      double   x
 
      double   y
 
      gcp::util::Collimation::Type   type
 
      double   magnitude
 
      double   direction
 
      gcp::util::OffsetMsg::Mode   addMode
 
      gcp::util::PointingTelescopes::Ptel   ptelMask
 
   }   collimation
 
   struct {
      unsigned long   seq
 
      long   az
 
      long   el
 
      long   dk
 
   }   encoderCountsPerTurn
 
   struct {
      unsigned long   seq
 
      long   az_min
 
      long   az_max
 
      long   el_min
 
      long   el_max
 
      long   pa_min
 
      long   pa_max
 
   }   encoderLimits
 
   struct {
      unsigned long   seq
 
      double   az
 
      double   el
 
      double   dk
 
   }   encoderZeros
 
   struct {
      unsigned long   seq
 
      gcp::util::PointingMode::Type   mode
 
      gcp::util::PointingTelescopes::Ptel   ptelMask
 
   }   selectModel
 
   struct {
      short   year
 
   }   year
 
   struct {
      double   lon
 
      double   lat
 
      double   alt
 
   }   site
 
   struct {
      double   north
 
      double   east
 
      double   up
 
   }   location
 
   struct {
      unsigned short   board
 
      bool   flag
 
   }   flagBoard
 
   struct {
      double   airTemperatureInK
 
      double   relativeHumidityInMax1
 
      double   pressureInMbar
 
   }   weather
 
   struct {
      unsigned int   seq
 
      double   y1
 
      double   y2
 
      double   y3
 
      double   x4
 
      double   x5
 
      double   z6
 
   }   benchZeroPosition
 
   struct {
      unsigned int   seq
 
      double   y1
 
      double   y2
 
      double   y3
 
      double   x4
 
      double   x5
 
      double   z6
 
   }   benchOffset
 
   struct {
      unsigned int   seq
 
      bool   use_brakes
 
   }   benchUseBrakes
 
   struct {
      unsigned int   seq
 
      double   threshold
 
   }   benchSetAcquiredThreshold
 
   struct {
      unsigned int   seq
 
      double   focus
 
   }   benchSetFocus
 
   struct {
      bool   enable
 
   }   tilt_meter_correction
 
   struct {
      double   x
 
      double   y
 
   }   tilt_meter_offset
 
   struct {
      double   angle
 
   }   tilt_meter_angle
 
   struct {
      double   maxAngle
 
   }   tilt_meter_range
 
   struct {
      double   interval
 
   }   tilt_meter_moving_average_interval
 
   struct {
      bool   enable
 
   }   linear_sensor_correction
 
   struct {
      double   L1
 
      double   L2
 
      double   R1
 
      double   R2
 
   }   linear_sensor_offset
 
   struct {
      double   maxDistance
 
   }   linear_sensor_range
 
   struct {
      double   interval
 
   }   linear_sensor_moving_average_interval
 
   struct {
      unsigned   sec
 
      unsigned   msec
 
   }   testTrackTime
 
   struct {
      unsigned   cmdId
 
      int   intVal
 
      float   fltVal
 
      float   fltVals [10]
 
   }   servoCmd
 
body
 
- Public Attributes inherited from gcp::util::GenericTaskMsg
GenericMsgType genericMsgType_
 

Friends

std::ostream & operator<< (std::ostream &os, const TrackerMsg &msg)
 

Member Enumeration Documentation

Enumerate supported message types.

Member Function Documentation

void gcp::antenna::control::TrackerMsg::packConnectDriveMsg ( )
inline

Pack a message to connect to the pmac.

void gcp::antenna::control::TrackerMsg::packDisconnectDriveMsg ( )
inline

Pack a message to disconnect from the pmac.

void gcp::antenna::control::TrackerMsg::packTickMsg ( gcp::util::TimeVal time)
inline

Pack a message to strobe the pmac.

void gcp::antenna::control::TrackerMsg::packWeatherMsg ( double  airTempInK,
double  relHumidityInMax1,
double  pressureInMbar 
)
inline

A method for packing a message to flag an antenna as un/reachable

Member Data Documentation

union { ... } gcp::antenna::control::TrackerMsg::body

A message body.

struct { ... } gcp::antenna::control::TrackerMsg::collimation

Calibrate the collimation of the optical or radio axes.

struct { ... } gcp::antenna::control::TrackerMsg::encoderCountsPerTurn

Set the calibation factors of the telescope encoders.

struct { ... } gcp::antenna::control::TrackerMsg::encoderLimits

Tell the drive task what the limits on encoder values are.

struct { ... } gcp::antenna::control::TrackerMsg::encoderZeros

Set the zero points of the telescope encoders. The angles are measured relative to the position at which the encoders show zero counts.

struct { ... } gcp::antenna::control::TrackerMsg::extendEqnEqx

The equation of the equinoxes.

struct { ... } gcp::antenna::control::TrackerMsg::extendUt1Utc

Commands used to send occasional updates of variable earth orientation parameters.

For each command the control system retains a table of the 3 most recently received updates. These three values are quadratically interpolated to yield orientation parameters for the current time. On connection to the control system, the control program is expected to send values for the start of the current day, the start of the following day and the start of the day after that. Thereafter, at the start of each new day, it should send parameters for a time two days in the future.

On startup of the control system, requests for ut1utc and eqeqx will return zero. On receipt of the first earth-orientation command, requests for orientation parameters will return the received values. On the receipt of the second, requesters will receive a linear interpolation of the parameters. On receipt of the third and subsequent commands, requesters will receive quadratically interpolated values using the parameters of the three most recently received commands.---------------------------------------------------------— The UT1-UTC correction

struct { ... } gcp::antenna::control::TrackerMsg::flagBoard

Flag a board.

struct { ... } gcp::antenna::control::TrackerMsg::flexure

....................................................................... Set the gravitational flexure of the telescope.

struct { ... } gcp::antenna::control::TrackerMsg::halt

Halt the telescope immediately

struct { ... } gcp::antenna::control::TrackerMsg::location

The following command is used to inform the control system of the site of this antenna

struct { ... } gcp::antenna::control::TrackerMsg::offset

Adjust the tracking offsets

struct { ... } gcp::antenna::control::TrackerMsg::rebootDrive

Reboot the Drive

struct { ... } gcp::antenna::control::TrackerMsg::refraction

Update the refraction correction

struct { ... } gcp::antenna::control::TrackerMsg::scan

Extend a scan ephemeris

struct { ... } gcp::antenna::control::TrackerMsg::selectModel

Select between the optical and radio pointing models.

struct { ... } gcp::antenna::control::TrackerMsg::site

The following command is used to inform the control system of the site of this antenna

struct { ... } gcp::antenna::control::TrackerMsg::slew

Slew the telescope to a demanded position

struct { ... } gcp::antenna::control::TrackerMsg::slewRate

The slew_rate is used to set the slew speeds of each of the telescope axes. The speed is specified as a percentage of the maximum speed available.

struct { ... } gcp::antenna::control::TrackerMsg::strobe

A 1-pps strobe

struct { ... } gcp::antenna::control::TrackerMsg::tick

A 1-pps tick

struct { ... } gcp::antenna::control::TrackerMsg::tilts

Calibrate the axis tilts of the telescope.

struct { ... } gcp::antenna::control::TrackerMsg::track

Extend the track of a source

struct { ... } gcp::antenna::control::TrackerMsg::tvAngle

Set the PA angle at which the vertical direction on the TV monitor of the optical telescope matches the direction of increasing topocentric elevation

MsgType gcp::antenna::control::TrackerMsg::type

A type for this message

struct { ... } gcp::antenna::control::TrackerMsg::year

Tell the control system what the current year is. This is necessary because the gps time-code reader doesn't supply year information.


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