// SAL_VERSION=4.2.0 XML_VERSION=6.0.0
module MTM2 {
struct axialActuatorSteps_a2beb8a4 {  // @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        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	axialActuatorSteps[72]; // @Metadata=(Units="unitless",Description="Array of steps for each axial actuator in sequence.")
	};
#pragma keylist axialActuatorSteps_a2beb8a4 
struct axialEncoderPositions_1cfefd6d {  // @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        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	axialEncoderPositions[72]; // @Metadata=(Units="micron",Description="Encoder position of each axial encoder in sequence.")
	};
#pragma keylist axialEncoderPositions_1cfefd6d 
struct axialForce_27c10d4a {  // @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        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	lutGravity[72]; // @Metadata=(Units="newton",Description="Gravity component (F_e + F_0 + F_a + F_f) of look-up table (LUT) force for each actuator in sequence.")
	  double	lutTemperature[72]; // @Metadata=(Units="newton",Description="Temperature component (T_u + T_x + T_y + T_r) of look-up table (LUT) force for each actuator in sequence.")
	  double	applied[72]; // @Metadata=(Units="newton",Description="Force applied by SAL command or script for each actuator in sequence.")
	  double	measured[72]; // @Metadata=(Units="newton",Description="Force measurement by load cell for each actuator in sequence.")
	  double	hardpointCorrection[72]; // @Metadata=(Units="newton",Description="Hardpoint compensation force correction for each actuator in sequence.")
	};
#pragma keylist axialForce_27c10d4a 
struct command_abort_fa86dc94 {  // @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        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_fa86dc94 
struct command_applyForces_0e4b8fc8 {  // @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        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	axialSetPoints[72]; // @Metadata=(Units="newton",Description="Accumulated axial force vector adds to the LUT force. The elements are the actuator Ids from 1 to 72. The related ring Ids are B1-B30; C1-C24; and D1-D18.")
	  double	tangentSetPoints[6]; // @Metadata=(Units="newton",Description="Accumulated tangent force vector adds to the LUT force. The elements are the actuator Ids from 73 to 78. The related ring Ids are A1-A6.")
	};
#pragma keylist command_applyForces_0e4b8fc8 
struct command_clearErrors_3beb4a09 {  // @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        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="This value is ignored.")
	};
#pragma keylist command_clearErrors_3beb4a09 
struct command_disable_5d393a9e {  // @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        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_5d393a9e 
struct command_enable_bd0432a3 {  // @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        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_bd0432a3 
struct command_enterControl_f34fb1cc {  // @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        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_f34fb1cc 
struct command_exitControl_a20e7f0b {  // @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        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_a20e7f0b 
struct command_positionMirror_3d961848 {  // @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        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	x; // @Metadata=(Units="micron",Description="Position x.")
	  double	y; // @Metadata=(Units="micron",Description="Position y.")
	  double	z; // @Metadata=(Units="micron",Description="Position z.")
	  double	xRot; // @Metadata=(Units="arcsec",Description="Rotation about x.")
	  double	yRot; // @Metadata=(Units="arcsec",Description="Rotation about y.")
	  double	zRot; // @Metadata=(Units="arcsec",Description="Rotation about z.")
	};
#pragma keylist command_positionMirror_3d961848 
struct command_resetForceOffsets_eaef4d5f {  // @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        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="This value is ignored.")
	};
#pragma keylist command_resetForceOffsets_eaef4d5f 
struct command_selectInclinationSource_6acf54e5 {  // @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        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")
	  short	source; // @Metadata=(Units="unitless",Description="Enumeration: 1: OnBoard. 2: MTMount.")
	};
#pragma keylist command_selectInclinationSource_6acf54e5 
	 const long selectInclinationSource_OnBoard=1;
	 const long selectInclinationSource_MTMount=2;
struct command_setAuthList_82c1dc10 {  // @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        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_82c1dc10 
struct command_setLogLevel_02733844 {  // @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        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_02733844 
struct command_setTemperatureOffset_bcac30ae {  // @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        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	ring[12]; // @Metadata=(Units="deg_C",Description="Offset of ring temperatures: LG2-1; LG2-2; LG2-3; LG2-4; LG3-1; LG3-2; LG3-3; LG3-4; LG4-1; LG4-2; LG4-3; and LG4-4.")
	  double	intake[2]; // @Metadata=(Units="deg_C",Description="Offset of intake temperatures: #1 and #2.")
	  double	exhaust[2]; // @Metadata=(Units="deg_C",Description="Offset of exhaust temperatures: #1 and #2.")
	};
#pragma keylist command_setTemperatureOffset_bcac30ae 
struct command_setValue_f60e498b {  // @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        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_f60e498b 
struct command_standby_130f4e01 {  // @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        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_130f4e01 
struct command_start_710d7c02 {  // @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        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_710d7c02 
struct command_switchForceBalanceSystem_f01a14c1 {  // @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        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	status; // @Metadata=(Units="unitless",Description="True: turn on FB. False: turn off FB.")
	};
#pragma keylist command_switchForceBalanceSystem_f01a14c1 
struct displacementSensors_47a314fe {  // @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        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	thetaZ[6]; // @Metadata=(Units="micron",Description="Readings of theta-z from displacement sensors. The elements are A1; A2; A3; A4; A5; and A6.")
	  double	deltaZ[6]; // @Metadata=(Units="micron",Description="Readings of delta-z from displacement sensors. The elements are A1; A2; A3; A4; A5; and A6.")
	};
#pragma keylist displacementSensors_47a314fe 
struct forceBalance_c784e6c9 {  // @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        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	fx; // @Metadata=(Units="newton",Description="Total x-force commanded by the force balance system.")
	  double	fy; // @Metadata=(Units="newton",Description="Total y-force commanded by the force balance system.")
	  double	fz; // @Metadata=(Units="newton",Description="Total z-force commanded by the force balance system.")
	  double	mx; // @Metadata=(Units="newton*meter",Description="Total x-moment of force commanded by the force balance system.")
	  double	my; // @Metadata=(Units="newton*meter",Description="Total y-moment of force commanded by the force balance system.")
	  double	mz; // @Metadata=(Units="newton*meter",Description="Total z-moment of force commanded by the force balance system.")
	};
#pragma keylist forceBalance_c784e6c9 
struct ilcData_8d0cec58 {  // @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        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")
	  unsigned short	status[78]; // @Metadata=(Units="unitless",Description="ILC status. The elements are the actuator Ids from 1 to 78. The value needs to be transformed from decimal to hexadecimal to understand. The details are in code 67; LTS-346.")
	};
#pragma keylist ilcData_8d0cec58 
struct logevent_appliedSettingsMatchStart_03dbfd59 {  // @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        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_03dbfd59 
struct logevent_authList_0837a09f {  // @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        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_0837a09f 
struct logevent_cellTemperatureHiWarning_d1c494bb {  // @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        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	hiWarning; // @Metadata=(Units="unitless",Description="True if the cell temperature is high.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_cellTemperatureHiWarning_d1c494bb 
struct logevent_commandableByDDS_61f296c6 {  // @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        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	state; // @Metadata=(Units="unitless",Description="If true the CSC can control the MTM2; else the Engineering User Interface has control.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_commandableByDDS_61f296c6 
struct logevent_detailedState_8579eaea {  // @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        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="unitless",Description="M2 detailed state.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_detailedState_8579eaea 
struct logevent_errorCode_f62bf5b3 {  // @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        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_f62bf5b3 
struct logevent_forceBalanceSystemStatus_3e6d6d83 {  // @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        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	status; // @Metadata=(Units="unitless",Description="True if FB is on; False if off.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_forceBalanceSystemStatus_3e6d6d83 
struct logevent_hardpointList_718ea460 {  // @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        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")
	  unsigned short	actuators[6]; // @Metadata=(Units="unitless",Description="Actuator Ids to be the hardpoint.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_hardpointList_718ea460 
struct logevent_heartbeat_8ec75905 {  // @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        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_8ec75905 
struct logevent_inclinationTelemetrySource_8327dc0a {  // @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        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")
	  short	source; // @Metadata=(Units="unitless",Description="1: onboard. 2: MTMount.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_inclinationTelemetrySource_8327dc0a 
	 const long inclinationTelemetrySource_OnBoard=1;
	 const long inclinationTelemetrySource_MTMount=2;
struct logevent_interlock_279d47a9 {  // @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        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	state; // @Metadata=(Units="unitless",Description="True if the interlock is engaged. False if it is cleared.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_interlock_279d47a9 
struct logevent_logLevel_f2150842 {  // @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        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_f2150842 
struct logevent_logMessage_3d3d8dd8 {  // @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        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_3d3d8dd8 
struct logevent_m2AssemblyInPosition_073c483d {  // @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        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="unitless",Description="True if the M2 assembly is in position.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_m2AssemblyInPosition_073c483d 
	 const long MTM2_shared_InclinationTelemetrySource_OnBoard=1;
	 const long MTM2_shared_InclinationTelemetrySource_MTMount=2;
struct logevent_settingVersions_3cb86e2f {  // @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        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_3cb86e2f 
struct logevent_settingsApplied_03043b58 {  // @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        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_03043b58 
struct logevent_simulationMode_2c7671f5 {  // @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        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_2c7671f5 
struct logevent_softwareVersions_30df32a3 {  // @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        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<16>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<16>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<16>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<16>	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_30df32a3 
struct logevent_summaryState_be95c9c2 {  // @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        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_be95c9c2 
struct logevent_tcpIpConnected_54150adf {  // @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        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	isConnected; // @Metadata=(Units="unitless",Description="Is the socket connected (true=yes; false=no)?")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_tcpIpConnected_54150adf 
struct logevent_temperatureOffset_791fa215 {  // @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        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	ring[12]; // @Metadata=(Units="deg_C",Description="Offset of ring temperatures: LG2-1; LG2-2; LG2-3; LG2-4; LG3-1; LG3-2; LG3-3; LG3-4; LG4-1; LG4-2; LG4-3; and LG4-4.")
	  double	intake[2]; // @Metadata=(Units="deg_C",Description="Offset of intake temperatures: #1 and #2.")
	  double	exhaust[2]; // @Metadata=(Units="deg_C",Description="Offset of exhaust temperatures: #1 and #2.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_temperatureOffset_791fa215 
struct netForcesTotal_76072d04 {  // @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        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	fx; // @Metadata=(Units="newton",Description="Net force in x direction.")
	  double	fy; // @Metadata=(Units="newton",Description="Net force in y direction.")
	  double	fz; // @Metadata=(Units="newton",Description="Net force in z direction.")
	};
#pragma keylist netForcesTotal_76072d04 
struct netMomentsTotal_2c45d513 {  // @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        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	mx; // @Metadata=(Units="newton*meter",Description="Net moment of force in x direction.")
	  double	my; // @Metadata=(Units="newton*meter",Description="Net moment of force in y direction.")
	  double	mz; // @Metadata=(Units="newton*meter",Description="Net moment of force in z direction.")
	};
#pragma keylist netMomentsTotal_2c45d513 
struct position_b3d7a6e2 {  // @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        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	x; // @Metadata=(Units="micron",Description="Position x.")
	  double	y; // @Metadata=(Units="micron",Description="Position y.")
	  double	z; // @Metadata=(Units="micron",Description="Position z.")
	  double	xRot; // @Metadata=(Units="arcsec",Description="Rotation about x.")
	  double	yRot; // @Metadata=(Units="arcsec",Description="Rotation about y.")
	  double	zRot; // @Metadata=(Units="arcsec",Description="Rotation about z.")
	};
#pragma keylist position_b3d7a6e2 
struct positionIMS_0dde9878 {  // @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        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	x; // @Metadata=(Units="micron",Description="Position x.")
	  double	y; // @Metadata=(Units="micron",Description="Position y.")
	  double	z; // @Metadata=(Units="micron",Description="Position z.")
	  double	xRot; // @Metadata=(Units="arcsec",Description="Rotation about x.")
	  double	yRot; // @Metadata=(Units="arcsec",Description="Rotation about y.")
	  double	zRot; // @Metadata=(Units="arcsec",Description="Rotation about z.")
	};
#pragma keylist positionIMS_0dde9878 
struct powerStatus_a44f3361 {  // @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        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	motorVoltage; // @Metadata=(Units="volt",Description="Total motor voltage.")
	  double	motorCurrent; // @Metadata=(Units="ampere",Description="Total motor current.")
	  double	commVoltage; // @Metadata=(Units="volt",Description="Total communication voltage.")
	  double	commCurrent; // @Metadata=(Units="ampere",Description="Total communication current.")
	};
#pragma keylist powerStatus_a44f3361 
struct tangentActuatorSteps_16f8966d {  // @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        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	tangentActuatorSteps[6]; // @Metadata=(Units="unitless",Description="Array of steps for each actuator in sequence.")
	};
#pragma keylist tangentActuatorSteps_16f8966d 
struct tangentEncoderPositions_3f3f9b16 {  // @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        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	tangentEncoderPositions[6]; // @Metadata=(Units="micron",Description="Encoder position of each tangent encoder in sequence.")
	};
#pragma keylist tangentEncoderPositions_3f3f9b16 
struct tangentForce_3c0dae7c {  // @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        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	lutGravity[6]; // @Metadata=(Units="newton",Description="Gravity component (F_e + F_0 + F_a + F_f) of look-up table (LUT) force for each actuator in sequence.")
	  double	lutTemperature[6]; // @Metadata=(Units="newton",Description="Temperature component (T_u + T_x + T_y + T_r) of look-up table (LUT) force for each actuator in sequence.")
	  double	forcesApplied[6]; // @Metadata=(Units="newton",Description="Force applied by SAL command or script for each actuator in sequence.")
	  double	forcesMeasured[6]; // @Metadata=(Units="newton",Description="Force measurement by load cell for each actuator in sequence.")
	  double	hardpointCorrection[6]; // @Metadata=(Units="newton",Description="Hardpoint compensation force correction for each actuator in sequence.")
	};
#pragma keylist tangentForce_3c0dae7c 
struct temperature_042b0a52 {  // @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        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	ring[12]; // @Metadata=(Units="deg_C",Description="Ring temperatures: LG2-1; LG2-2; LG2-3; LG2-4; LG3-1; LG3-2; LG3-3; LG3-4; LG4-1; LG4-2; LG4-3; and LG4-4.")
	  double	intake[2]; // @Metadata=(Units="deg_C",Description="Intake temperatures: #1 and #2.")
	  double	exhaust[2]; // @Metadata=(Units="deg_C",Description="Exhaust temperatures: #1 and #2.")
	};
#pragma keylist temperature_042b0a52 
struct zenithAngle_c0767f82 {  // @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        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	measured; // @Metadata=(Units="degree",Description="Zenith angle is 0 degree when the telescope is at zenith.")
	  double	inclinometerRaw; // @Metadata=(Units="degree",Description="Reading raw angle of inclinometer (0-360 degree).")
	  double	inclinometerProcessed; // @Metadata=(Units="degree",Description="Processed angle of inclinometer (0-360 degree).")
	};
#pragma keylist zenithAngle_c0767f82 
struct ackcmd_5b78f609 {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      string		private_identity;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      string            identity;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_5b78f609 
};

