My Project
|
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 } |
![]() | |
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 |
![]() | |
GenericMsgType | genericMsgType_ |
Friends | |
std::ostream & | operator<< (std::ostream &os, const TrackerMsg &msg) |
Enumerate supported message types.
Tracker specific.
|
inline |
Pack a message to connect to the pmac.
|
inline |
Pack a message to disconnect from the pmac.
|
inline |
Pack a message to strobe the pmac.
|
inline |
A method for packing a message to flag an antenna as un/reachable
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.