// SAL_VERSION=5.0.1 XML_VERSION=6.2.1
module ATMCS {
struct azEl_mountMotorEncoders_fde233f7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevationEncoder[100]; // @Metadata=(Units="deg",Description="Position reported by elevation drive motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  double	azimuth1Encoder[100]; // @Metadata=(Units="deg",Description="Position reported by azimuth drive 1 motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  double	azimuth2Encoder[100]; // @Metadata=(Units="deg",Description="Position reported by azimuth drive 2 motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  long	elevationEncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by elevation drive motor encoder at 100 Hz beginning at the specified time.")
	  long	azimuth1EncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by azimuth drive 1 drive motor encoder at 100 Hz beginning at the specified time.")
	  long	azimuth2EncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by azimuth drive 2 drive motor encoder at 100 Hz beginning at the specified time.")
	};
#pragma keylist azEl_mountMotorEncoders_fde233f7 
struct command_abort_53c99577 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_abort_53c99577 
struct command_disable_cc6500e2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_disable_cc6500e2 
struct command_enable_8c1a5647 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enable_8c1a5647 
struct command_enterControl_04d79453 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enterControl_04d79453 
struct command_exitControl_461933ed {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_exitControl_461933ed 
struct command_setAuthList_e9246c92 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	authorizedUsers; // @Metadata=(Units="unitless",Description="Comma seperated list of authorized users currently allowed to command this CSC;")
	  string	nonAuthorizedCSCs; // @Metadata=(Units="unitless",Description="Comma seperated list of CSC's not currently allowed to command this CSC;")
	};
#pragma keylist command_setAuthList_e9246c92 
struct command_setInstrumentPort_aed74615 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	port; // @Metadata=(Units="dimensionless",Description="Desired instrument port.")
	};
#pragma keylist command_setInstrumentPort_aed74615 
struct command_setLogLevel_fb6c6721 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10.")
	};
#pragma keylist command_setLogLevel_fb6c6721 
struct command_setValue_c0ec33ad {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	parametersAndValues; // @Metadata=(Units="unitless",Description="List of parameters and their values as a Json string")
	};
#pragma keylist command_setValue_c0ec33ad 
struct command_standby_2c850f6e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_standby_2c850f6e 
struct command_start_d7042fdf {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsToApply; // @Metadata=(Units="unitless",Description="Name of the selected settings set")
	};
#pragma keylist command_start_d7042fdf 
struct command_startTracking_44eb0f0b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_startTracking_44eb0f0b 
struct command_stopTracking_3053acdb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="dimensionless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_stopTracking_3053acdb 
struct command_trackTarget_f4db72a7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	azimuth; // @Metadata=(Units="deg",Description="Mount azimuth angle at the specified time. The allowed range is the software limits (L1); approximately -270 to 270.")
	  double	azimuthVelocity; // @Metadata=(Units="deg/second",Description="Mount azimuth velocity at the specified time.")
	  double	elevation; // @Metadata=(Units="deg",Description="Mount elevation angle at the specified time.")
	  double	elevationVelocity; // @Metadata=(Units="deg/second",Description="Mount elevation angle velocity at the specified time.")
	  double	nasmyth1RotatorAngle; // @Metadata=(Units="deg",Description="Nasmyth 1 rotator angle at the specified time. The allowed range is the software limits (L1); approximately -170 to 170. Outside this range the velocity will be severly limited. Software position limits are -175 to 175. ")
	  double	nasmyth1RotatorAngleVelocity; // @Metadata=(Units="deg/second",Description="Nasmyth 1 rotator angle velocity at the specified time.")
	  double	nasmyth2RotatorAngle; // @Metadata=(Units="deg",Description="Nasmyth 1 rotator angle at the specified time. The allowed range is the software limits (L1); approximately -170 to 170. Outside this range the velocity will be severly limited. Software position limits are -175 to 175. ")
	  double	nasmyth2RotatorAngleVelocity; // @Metadata=(Units="deg/second",Description="Nasmyth 1 rotator angle velocity at the specified time.")
	  double	taiTime; // @Metadata=(Units="second",Description="TAI date at which the commanded positions and velocities apply; as unix time.")
	  long	trackId; // @Metadata=(Units="dimensionless",Description="Target identifier provided by the ATMCS.")
	  string<256>	tracksys; // @Metadata=(Units="dimensionless",Description="Defines tracking coordinate system as sidereal; non-sidereal or local.")
	  string<256>	radesys; // @Metadata=(Units="dimensionless",Description="Coordinate reference frame of RA/DEC axes. This originates from the pointing component and is used for WCS definition (e.g. FK5 or ICRS).")
	};
#pragma keylist command_trackTarget_f4db72a7 
struct logevent_allAxesInPosition_40a72f74 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True if all axes are in position")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_allAxesInPosition_40a72f74 
struct logevent_appliedSettingsMatchStart_ef54baeb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	appliedSettingsMatchStartIsTrue; // @Metadata=(Units="unitless",Description="True when the configuration matches the start conditions")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_appliedSettingsMatchStart_ef54baeb 
struct logevent_atMountState_29757ff5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="Describes if tracking is stopped/started or in the process of stopping")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_atMountState_29757ff5 
struct logevent_authList_5647eccc {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	authorizedUsers; // @Metadata=(Units="unitless",Description="Comma seperated list of authorized users currently allowed to command this CSC.")
	  string	nonAuthorizedCSCs; // @Metadata=(Units="unitless",Description="Comma seperated list of CSC's not currently allowed to command this CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_authList_5647eccc 
struct logevent_azimuthBrake1_128187cb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	engaged; // @Metadata=(Units="dimensionless",Description="True if the azimuth drive 1 brake is engaged")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthBrake1_128187cb 
struct logevent_azimuthBrake2_50b86491 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	engaged; // @Metadata=(Units="dimensionless",Description="True if the azimuth drive 2 brake is engaged")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthBrake2_50b86491 
struct logevent_azimuthDrive1Status_934b6ceb {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True; if state of elevation drive is set to enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthDrive1Status_934b6ceb 
struct logevent_azimuthDrive2Status_ac51455b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True; if the state of the azimuth drive is enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthDrive2Status_ac51455b 
struct logevent_azimuthInPosition_78526cca {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True when the actual and commanded position are within an epsilon defined in the ATMCS configuration files. ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthInPosition_78526cca 
struct logevent_azimuthLimitSwitchCCW_f7785cd2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if telescope azimuth axis is at the CCW L2 limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthLimitSwitchCCW_f7785cd2 
struct logevent_azimuthLimitSwitchCW_8866779e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if telescope azimuth axis is at the CW L2 limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthLimitSwitchCW_8866779e 
struct logevent_azimuthToppleBlockCCW_25516b53 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if switch depressed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthToppleBlockCCW_25516b53 
struct logevent_azimuthToppleBlockCW_39559aba {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if switch depressed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azimuthToppleBlockCW_39559aba 
struct logevent_detailedState_0755c699 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	detailedState; // @Metadata=(Units="dimensionless",Description="The substate or extra states of the CSC ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_detailedState_0755c699 
	 const long ATMCS_shared_AtMountState_TrackingDisabled=1;
	 const long ATMCS_shared_AtMountState_TrackingEnabled=2;
	 const long ATMCS_shared_AtMountState_Stopping=3;
	 const long ATMCS_shared_M3ExitPort_Nasmyth1=1;
	 const long ATMCS_shared_M3ExitPort_Nasmyth2=2;
	 const long ATMCS_shared_M3ExitPort_Port3=3;
	 const long ATMCS_shared_M3State_Nasmyth1=1;
	 const long ATMCS_shared_M3State_Nasmyth2=2;
	 const long ATMCS_shared_M3State_Port3=3;
	 const long ATMCS_shared_M3State_InMotion=4;
	 const long ATMCS_shared_M3State_UnknownPosition=5;
	 const long ATMCS_shared_AzimuthDirection_ClockWise=1;
	 const long ATMCS_shared_AzimuthDirection_CounterClockWise=2;
	 const long ATMCS_shared_DetailedState_DisabledState=1;
	 const long ATMCS_shared_DetailedState_EnabledState=2;
	 const long ATMCS_shared_DetailedState_FaultState=3;
	 const long ATMCS_shared_DetailedState_OfflineState=4;
	 const long ATMCS_shared_DetailedState_StandbyState=5;
	 const long ATMCS_shared_DetailedState_RemoteControlState=6;
	 const long ATMCS_shared_DetailedState_HandPaddleControlState=7;
struct logevent_elevationBrake_84f1ba83 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	engaged; // @Metadata=(Units="dimensionless",Description="True if the Elevation Drive Brake is engaged")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elevationBrake_84f1ba83 
struct logevent_elevationDriveStatus_c98a305c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True; if state of elevation drive is set to enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elevationDriveStatus_c98a305c 
struct logevent_elevationInPosition_36a76b8b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True when the actual and commanded position are within an epsilon defined in the ATMCS configuration files")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elevationInPosition_36a76b8b 
struct logevent_elevationLimitSwitchLower_86b20ea3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if telescope elevation axis is at the lower (horizon) L2 limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elevationLimitSwitchLower_86b20ea3 
struct logevent_elevationLimitSwitchUpper_4fdbdb94 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if telescope elevation axis is at the upper (zenith) L2 limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elevationLimitSwitchUpper_4fdbdb94 
struct logevent_errorCode_6ea30fe8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	errorCode; // @Metadata=(Units="unitless",Description="A numeric error code")
	  string	errorReport; // @Metadata=(Units="unitless",Description="An string providing detailed information about the error")
	  string	traceback; // @Metadata=(Units="unitless",Description="An optional stack trace of the error condition")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_errorCode_6ea30fe8 
struct logevent_heartbeat_63fd2325 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="unitless",Description="Beats the drum.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_63fd2325 
struct logevent_logLevel_be0b2158 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Current logging level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logLevel_be0b2158 
struct logevent_logMessage_4108e269 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Log name.")
	  long	level; // @Metadata=(Units="unitless",Description="Message level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  string	message; // @Metadata=(Units="unitless",Description="Log message.")
	  string	traceback; // @Metadata=(Units="unitless",Description="Exception traceback; "" if not an exception.")
	  string	filePath; // @Metadata=(Units="unitless",Description="Path to source file.")
	  string	functionName; // @Metadata=(Units="unitless",Description="Function or method name.")
	  long	lineNumber; // @Metadata=(Units="unitless",Description="Line number in the file specified by filePath.")
	  long	process; // @Metadata=(Units="unitless",Description="Process ID.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logMessage_4108e269 
struct logevent_m3DriveStatus_3b9788c0 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True if the M3 rotator drive is enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3DriveStatus_3b9788c0 
struct logevent_m3InPosition_6b60dda5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True when the actual and commanded position are within an epsilon defined in the ATMCS configuration files. ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3InPosition_6b60dda5 
struct logevent_m3PortSelected_39c25a04 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	selected; // @Metadata=(Units="dimensionless",Description="The port that is to receive light from the system; or if stage is in motion")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3PortSelected_39c25a04 
struct logevent_m3RotatorDetentSwitches_eca004c0 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	nasmyth1Active; // @Metadata=(Units="dimensionless",Description="True if M3 is directing light to Nasmyth 1")
	  boolean	port3Active; // @Metadata=(Units="dimensionless",Description="True if M3 is directing light to the auxiliary port with no rotator.")
	  boolean	nasmyth2Active; // @Metadata=(Units="dimensionless",Description="True if M3 is directing light to Nasmyth 2")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3RotatorDetentSwitches_eca004c0 
struct logevent_m3RotatorLimitSwitchCCW_76833c8d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if M3 rotator is at the CCW (L2) limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3RotatorLimitSwitchCCW_76833c8d 
struct logevent_m3RotatorLimitSwitchCW_a202d425 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if M3 Rotator is at the CW (L2) limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3RotatorLimitSwitchCW_a202d425 
struct logevent_m3State_45fc26f8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	state; // @Metadata=(Units="dimensionless",Description="M3 rotator position/motion state")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m3State_45fc26f8 
struct logevent_nasmyth1Brake_e8ade093 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	engaged; // @Metadata=(Units="dimensionless",Description="True if the Nasmyth1 drive brake is engaged")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth1Brake_e8ade093 
struct logevent_nasmyth1DriveStatus_1fa1b583 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True if the state of the Nasmyth 1 rotator is enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth1DriveStatus_1fa1b583 
struct logevent_nasmyth1LimitSwitchCCW_330e10aa {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if Nasmyth 1 is at the CCW limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth1LimitSwitchCCW_330e10aa 
struct logevent_nasmyth1LimitSwitchCW_50efbf29 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if Nasmyth 1 is at CW (L2) limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth1LimitSwitchCW_50efbf29 
struct logevent_nasmyth1RotatorInPosition_d6be5690 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True when the actual and commanded position are within an epsilon defined in the ATMCS configuration files. ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth1RotatorInPosition_d6be5690 
struct logevent_nasmyth2Brake_780ff8f3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	engaged; // @Metadata=(Units="dimensionless",Description="True if the Nasmyth drive 2 brake is engaged")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth2Brake_780ff8f3 
struct logevent_nasmyth2DriveStatus_9ec8c140 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	enable; // @Metadata=(Units="dimensionless",Description="True if the Nasmyth 2 rotator is enabled")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth2DriveStatus_9ec8c140 
struct logevent_nasmyth2LimitSwitchCCW_44c3bb28 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True if Nasmyth 2 is at CCW (L2) limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth2LimitSwitchCCW_44c3bb28 
struct logevent_nasmyth2LimitSwitchCW_bf602fd3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	active; // @Metadata=(Units="dimensionless",Description="True is Nasmyth 2 is at the CW (L2) limit")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth2LimitSwitchCW_bf602fd3 
struct logevent_nasmyth2RotatorInPosition_be098afe {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	inPosition; // @Metadata=(Units="dimensionless",Description="True when the actual and commanded position are within an epsilon defined in the ATMCS configuration files. ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_nasmyth2RotatorInPosition_be098afe 
struct logevent_positionLimits_0c07f9fe {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	minimum[5]; // @Metadata=(Units="deg",Description="Minimum position limits.")
	  float	maximum[5]; // @Metadata=(Units="deg",Description="Maximum position limits.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_positionLimits_0c07f9fe 
struct logevent_settingVersions_9ee77e1c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	recommendedSettingsVersion; // @Metadata=(Units="unitless",Description="List of comma seperated recomended versions of settings sets")
	  string	recommendedSettingsLabels; // @Metadata=(Units="unitless",Description="List of comma seperated names of settings sets")
	  string	settingsUrl; // @Metadata=(Units="unitless",Description="The URL where the settings sets definitions can be found")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingVersions_9ee77e1c 
struct logevent_settingsApplied_93d9e46e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsVersion; // @Metadata=(Units="unitless",Description="The SHA or name corresponding to the published configuration")
	  string	otherSettingsEvents; // @Metadata=(Units="unitless",Description="A comma delimited list of other specific CSC configuration events. This may be blank if no other CSC specific events are necessary")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingsApplied_93d9e46e 
struct logevent_simulationMode_a2731773 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_simulationMode_a2731773 
struct logevent_softwareVersions_b2092ca6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<256>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<256>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<256>	cscVersion; // @Metadata=(Units="unitless",Description="This is the top-level version of the CSC")
	  string	subsystemVersions; // @Metadata=(Units="unitless",Description="A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within a CSC")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_softwareVersions_b2092ca6 
struct logevent_summaryState_78bfd22b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	summaryState; // @Metadata=(Units="unitless",Description="High level state machine state identifier")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_summaryState_78bfd22b 
struct logevent_target_ed7579b3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	elevation; // @Metadata=(Units="deg",Description="Target mount elevation angle at the specified time.")
	  double	elevationVelocity; // @Metadata=(Units="deg/second",Description="Target mount elevation angle velocity at the specified time.")
	  double	azimuth; // @Metadata=(Units="deg",Description="Target mount azimuth angle at the specified time. The allowed range is 0 to 360.")
	  double	azimuthVelocity; // @Metadata=(Units="deg/second",Description="Target mount azimuth velocity at the specified time.")
	  double	nasmyth1RotatorAngle; // @Metadata=(Units="deg",Description="Target Nasmyth 1 rotator angle at the specified time.")
	  double	nasmyth1RotatorAngleVelocity; // @Metadata=(Units="deg/second",Description="Target Nasmyth 1 rotator angle velocity at the specified time.")
	  double	nasmyth2RotatorAngle; // @Metadata=(Units="deg",Description="Target Nasmyth 1 rotator angle at the specified time.")
	  double	nasmyth2RotatorAngleVelocity; // @Metadata=(Units="deg/second",Description="Target Nasmyth 1 rotator angle velocity at the specified time.")
	  double	taiTime; // @Metadata=(Units="second",Description="TAI date at which the commanded positions and velocities apply; as unix time.")
	  long	trackId; // @Metadata=(Units="dimensionless",Description="Unique target identifier ")
	  string<256>	tracksys; // @Metadata=(Units="dimensionless",Description="Defines tracking coordinate system as sidereal; non-sidereal or local.")
	  string<256>	radesys; // @Metadata=(Units="dimensionless",Description="Coordinate reference frame of RA/DEC axes. This originates from the pointing component and is used for WCS definition (e.g. FK5 or ICRS).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_target_ed7579b3 
struct measuredMotorVelocity_e302c548 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevationMotorVelocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of elevation drive motor at 100 Hz beginning at the specified time.")
	  double	azimuthMotor1Velocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of azimuth drive 1 motor at 100 Hz beginning at the specified time.")
	  double	azimuthMotor2Velocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of azimuth drive 2 motor at 100 Hz beginning at the specified time.")
	  double	nasmyth1MotorVelocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of Nasmyth 1 drive motor at 100 Hz beginning at the specified time.")
	  double	nasmyth2MotorVelocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of Nasmyth 2 drive motor at 100 Hz beginning at the specified time.")
	  double	m3Velocity[100]; // @Metadata=(Units="deg/second",Description="Measured velocity of M3 rotator drive motor at 100 Hz beginning at the specified time.")
	};
#pragma keylist measuredMotorVelocity_e302c548 
struct measuredTorque_61132a3d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevationMotorTorque[100]; // @Metadata=(Units="A",Description="Elevation drive measured motor torque at 100 Hz beginning at the specified time.")
	  double	azimuthMotor1Torque[100]; // @Metadata=(Units="A",Description="Azimuth drive 1 measured motor torque at 100 Hz beginning at the specified time.")
	  double	azimuthMotor2Torque[100]; // @Metadata=(Units="A",Description="Azimuth drive 2 measured motor torque at 100 Hz beginning at the specified time.")
	  double	nasmyth1MotorTorque[100]; // @Metadata=(Units="A",Description="Nasmyth 1 rotator drive measured motor torque at 100 Hz beginning at the specified time.")
	  double	nasmyth2MotorTorque[100]; // @Metadata=(Units="A",Description="Nasmyth 2 rotator drive measured motor torque at 100 Hz beginning at the specified time.")
	  double	m3Torque[100]; // @Metadata=(Units="A",Description="M3 rotator drive measured motor torque at 100 Hz beginning at the specified time.")
	};
#pragma keylist measuredTorque_61132a3d 
struct mount_AzEl_Encoders_fb1f1a25 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevationCalculatedAngle[100]; // @Metadata=(Units="deg",Description="Elevation axis position computed from the axis encoders at 100 Hz beginning at the specified time.")
	  double	azimuthCalculatedAngle[100]; // @Metadata=(Units="deg",Description="Azimuth axis position computed from the axis encoders at 100 Hz beginning at the specified time. The range is the hard stop limits (L3); approximately -280 to 280.")
	  long	elevationEncoder1Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by elevation axis encoder 1 at 100 Hz beginning at the specified time.")
	  long	elevationEncoder2Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by elevation axis encoder 2 at 100 Hz beginning at the specified time.")
	  long	elevationEncoder3Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by elevation axis encoder 3 at 100 Hz beginning at the specified time.")
	  long	azimuthEncoder1Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by azimuth axis encoder 1 at 100 Hz beginning at the specified time.")
	  long	azimuthEncoder2Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by azimuth axis encoder 2 at 100 Hz beginning at the specified time.")
	  long	azimuthEncoder3Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by azimuth axis encoder 3 at 100 Hz beginning at the specified time.")
	  long	trackId; // @Metadata=(Units="dimensionless",Description="Unique identifier given by the ATPoining Component")
	};
#pragma keylist mount_AzEl_Encoders_fb1f1a25 
struct mount_Nasmyth_Encoders_312f6d32 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	nasmyth1CalculatedAngle[100]; // @Metadata=(Units="deg",Description="Nasmyth 1 axis position computed from the axis encoders; or nan if this axis is not in use. The range is the software limits (L1); approximately -175 to 175. Increasing the range requires installation of an additional switch. ")
	  double	nasmyth2CalculatedAngle[100]; // @Metadata=(Units="deg",Description="Nasmyth 2 axis position computed from the axis encoders; or nan if this axis is not in use. The range is the hard stop limits (L3); approximately -175 to 175. Increasing the range requires installation of an additional switch.")
	  long	nasmyth1Encoder1Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 1 rotator axis encoder 1.")
	  long	nasmyth1Encoder2Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 1 rotator axis encoder 2.")
	  long	nasmyth1Encoder3Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 1 rotator axis encoder 3.")
	  long	nasmyth2Encoder1Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 2 rotator axis encoder 1.")
	  long	nasmyth2Encoder2Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 2 rotator axis encoder 2.")
	  long	nasmyth2Encoder3Raw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth 2 rotator axis encoder 3.")
	  long	trackId; // @Metadata=(Units="dimensionless",Description="Unique identifier given by the ATPoining Component")
	};
#pragma keylist mount_Nasmyth_Encoders_312f6d32 
struct nasymth_m3_mountMotorEncoders_8de62b22 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	nasmyth1Encoder[100]; // @Metadata=(Units="deg",Description="Position reported by Nasmyth rotator 1 drive motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  double	nasmyth2Encoder[100]; // @Metadata=(Units="deg",Description="Position reported by Nasmyth rotator 2 drive motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  double	m3Encoder[100]; // @Metadata=(Units="deg",Description="Position reported by M3 rotator drive motor encoder at 100 Hz beginning at the specified time; converted to deg.")
	  long	nasmyth1EncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth rotator 1 drive motor encoder at 100 Hz beginning at the specified time.")
	  long	nasmyth2EncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by Nasmyth rotator 2 drive motor encoder at 100 Hz beginning at the specified time.")
	  long	m3EncoderRaw[100]; // @Metadata=(Units="dimensionless",Description="Position (in encoder counts) reported by M3 rotator drive motor encoder at 100 Hz beginning at the specified time.")
	};
#pragma keylist nasymth_m3_mountMotorEncoders_8de62b22 
struct torqueDemand_b788dd36 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevationMotorTorque[100]; // @Metadata=(Units="A",Description="Elevation drive commanded motor torque at 100 Hz beginning at the specified time.")
	  double	azimuthMotor1Torque[100]; // @Metadata=(Units="A",Description="Azimuth drive 1 commanded motor torque at 100 Hz beginning at the specified time.")
	  double	azimuthMotor2Torque[100]; // @Metadata=(Units="A",Description="Azimuth drive 2 commanded motor torque at 100 Hz beginning at the specified time.")
	  double	nasmyth1MotorTorque[100]; // @Metadata=(Units="A",Description="Nasmyth 1 rotator drive commanded motor torque at 100 Hz beginning at the specified time.")
	  double	nasmyth2MotorTorque[100]; // @Metadata=(Units="A",Description="Nasmyth 2 rotator drive commanded motor torque at 100 Hz beginning at the specified time.")
	};
#pragma keylist torqueDemand_b788dd36 
struct trajectory_072ad688 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp;    //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp;    //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long	private_seqNum;    //private // @Metadata=(Units="unitless",Description="Sequence number")
	  string<128>	private_identity;    //private // @Metadata=(Units="unitless",Description="Identity of originator")
	  long	private_origin;    //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long	private_host;    //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	cRIO_timestamp; // @Metadata=(Units="second",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	elevation[100]; // @Metadata=(Units="deg",Description="Target mount elevation angle at 100Hz beginning at the specified time.")
	  double	elevationVelocity[100]; // @Metadata=(Units="deg/second",Description="Target mount elevation angle velocity at 100Hz beginning at the specified time.")
	  double	azimuth[100]; // @Metadata=(Units="deg",Description="Target mount azimuth angle at 100Hz beginning at the specified time. The allowed range is 0 to 360.")
	  double	azimuthVelocity[100]; // @Metadata=(Units="deg/second",Description="Target mount azimuth velocity at 100Hz beginning at the specified time.")
	  double	nasmyth1RotatorAngle[100]; // @Metadata=(Units="deg",Description="Target Nasmyth 1 rotator angle at 100Hz beginning at the specified time.")
	  double	nasmyth1RotatorAngleVelocity[100]; // @Metadata=(Units="deg/second",Description="Target Nasmyth 1 rotator angle velocity at 100Hz beginning at the specified time.")
	  double	nasmyth2RotatorAngle[100]; // @Metadata=(Units="deg",Description="Target Nasmyth 1 rotator angle at 100Hz beginning at the specified time.")
	  double	nasmyth2RotatorAngleVelocity[100]; // @Metadata=(Units="deg/second",Description="Target Nasmyth 1 rotator angle velocity at 100Hz beginning at the specified time.")
	};
#pragma keylist trajectory_072ad688 
struct ackcmd_563381bb {  // @Metadata=(Description="")
  string<8>	private_revCode; //private
  double	private_sndStamp;    //private
  double	private_rcvStamp;    //private
  long	private_seqNum;    //private
  string<128>	private_identity;    //private
  long	private_origin;    //private
  long	private_host;    //private
	  long	ack;
	  long	error;
	  string<256>	result;
	  long	host;
	  string	identity;
	  long	origin;
	  long	cmdtype;
	  double	timeout;
	};
#pragma keylist ackcmd_563381bb 
};

