// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module CCCamera {
struct bonnShutter_baa0c2cd {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	shutter5V; // @Metadata=(Units="volt",Description="Measured 5v supply coltage to bonn shutter")
	  float	shutter36V; // @Metadata=(Units="volt",Description="Measured 24v supply voltage to bonn shutter")
	};
#pragma keylist bonnShutter_baa0c2cd 
struct command_abort_72e4ea06 {  // @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")
	  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_72e4ea06 
struct command_clear_66cb6866 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nClears; // @Metadata=(Units="unitless",Description="Number of consecutive clear operations to perform")
	};
#pragma keylist command_clear_66cb6866 
struct command_disable_afd4a00c {  // @Metadata=(Description="Transition from state Enabled to Disabled.")
	  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")
	  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_afd4a00c 
struct command_disableCalibration_e2e2fb46 {  // @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")
	  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="Attribute required by the API; but is unused.")
	};
#pragma keylist command_disableCalibration_e2e2fb46 
struct command_discardRows_5596cb64 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nRows; // @Metadata=(Units="unitless",Description="Number of rows to discard")
	};
#pragma keylist command_discardRows_5596cb64 
struct command_enable_777d054c {  // @Metadata=(Description="Transition from state Disabled to Enabled.")
	  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")
	  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_777d054c 
struct command_enableCalibration_e89cff11 {  // @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")
	  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="Attribute required by the API; but is unused.")
	};
#pragma keylist command_enableCalibration_e89cff11 
struct command_endImage_d34abb67 {  // @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")
	  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="Attribute required by the API; but is unused.")
	};
#pragma keylist command_endImage_d34abb67 
struct command_enterControl_dcf6754a {  // @Metadata=(Description="Transition from state Offline to Standby. Only "externally commandable" CSCs support this command; other CSCs start in Standby state and quit when they go to Offline.")
	  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")
	  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_dcf6754a 
struct command_exitControl_01dab52b {  // @Metadata=(Description="Transition from state Standby to Offline. For CSCs that are not "externally commandable" this makes the CSC quit.")
	  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")
	  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_01dab52b 
struct command_initGuiders_fbfbf33b {  // @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")
	  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>	roiSpec; // @Metadata=(Units="unitless",Description="TBD specification for region of interest")
	};
#pragma keylist command_initGuiders_fbfbf33b 
struct command_initImage_7631449b {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	deltaT; // @Metadata=(Units="second",Description="Estimate of time period before takeImages will be issued")
	};
#pragma keylist command_initImage_7631449b 
struct command_setFilter_19de2e45 {  // @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")
	  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>	name; // @Metadata=(Units="unitless",Description="The filter name to install")
	};
#pragma keylist command_setFilter_19de2e45 
struct command_setLogLevel_4c185f1d {  // @Metadata=(Description="Set the logging level.")
	  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")
	  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_4c185f1d 
struct command_setSimulationMode_758e1500 {  // @Metadata=(Description="Set the simulation mode.")
	  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")
	  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="Desired simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	};
#pragma keylist command_setSimulationMode_758e1500 
struct command_setValue_9f473134 {  // @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")
	  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_9f473134 
struct command_standby_b218b74c {  // @Metadata=(Description="Transition from state Offline; Disabled or Fault to Standby.")
	  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")
	  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_b218b74c 
struct command_start_34e3917e {  // @Metadata=(Description="Transition from state Standby to Disable; in a specified configuration.")
	  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")
	  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_34e3917e 
struct command_startImage_24e619fe {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs; e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	  double	timeout; // @Metadata=(Units="second",Description="Timeout after which imaging will be abandoned if no endImage command received")
	};
#pragma keylist command_startImage_24e619fe 
struct command_stop_83355956 {  // @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")
	  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="Attribute required by the API; but is unused.")
	};
#pragma keylist command_stop_83355956 
struct command_takeImages_035e1856 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	numImages; // @Metadata=(Units="unitless",Description="Number of consecutive images to take")
	  double	expTime; // @Metadata=(Units="second",Description="Exposure time")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs to associate extra data with the image(s); e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	};
#pragma keylist command_takeImages_035e1856 
struct filterChanger_105775d5 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	motorTemperature; // @Metadata=(Units="Celsius",Description="Measured motor temperature provided by motor controller")
	  float	motorEncoder; // @Metadata=(Units="unitless",Description="Relative position based on motor travel since startup")
	  float	linearPosition; // @Metadata=(Units="unitless",Description="Filter changer position measured by linear encoder (0.005 mm)")
	};
#pragma keylist filterChanger_105775d5 
struct logevent_appliedSettingsMatchStart_e4bfb992 {  // @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")
	  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_e4bfb992 
struct logevent_availableFilters_8f408949 {  // @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")
	  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>	filterNames; // @Metadata=(Units="unitless",Description="A list of installed filter names (comma delimimted; U-001;G-004;R-010;Z-012;Y-014); in the same order as the list of filter types.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_availableFilters_8f408949 
struct logevent_calibrationDetailedState_ae7824fa {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_calibrationDetailedState_ae7824fa 
	 const long calibrationDetailedState_DISABLED=1;
	 const long calibrationDetailedState_ENABLED=2;
	 const long calibrationDetailedState_INTEGRATING=3;
struct logevent_ccsCommandState_c25ed987 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Substate of the CCS command.")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsCommandState_c25ed987 
	 const long ccsCommandState_IDLE=1;
	 const long ccsCommandState_BUSY=2;
struct logevent_ccsConfigured_b4fccb1c {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsConfigured_b4fccb1c 
struct logevent_endInitializeGuider_c908b262 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeGuider_c908b262 
struct logevent_endInitializeImage_c7451e9f {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeImage_c7451e9f 
struct logevent_endLoadFilter_7bfc7198 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endLoadFilter_7bfc7198 
struct logevent_endOfImageTelemetry_2cadb0ac {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  string<64>	imageTag; // @Metadata=(Units="unitless",Description="The DAQ assigned image tag (hex string)")
	  double	timestampDateObs; // @Metadata=(Units="second",Description="The observation date; as computed by CCS (as TAI)")
	  double	timestampDateEnd; // @Metadata=(Units="second",Description="The end observation date; as computed by CCS (as TAI)")
	  double	expTime; // @Metadata=(Units="second",Description="The exposure time; as computed by CCS")
	  double	darkTime; // @Metadata=(Units="second",Description="The dark time; as computed by CCS")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endOfImageTelemetry_2cadb0ac 
struct logevent_endReadout_79416caf {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  double	timeStampEndOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was completed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endReadout_79416caf 
struct logevent_endRotateCarousel_14e92b82 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endRotateCarousel_14e92b82 
struct logevent_endSetFilter_c1520bbc {  // @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")
	  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>	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endSetFilter_c1520bbc 
struct logevent_endShutterClose_0fd62826 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterClose_0fd62826 
struct logevent_endShutterOpen_80f9407c {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterOpen_80f9407c 
struct logevent_endTakeImage_f94fa133 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endTakeImage_f94fa133 
struct logevent_endUnloadFilter_2e11edaf {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endUnloadFilter_2e11edaf 
struct logevent_errorCode_fb40da78 {  // @Metadata=(Description="Output when a CSC goes into the Fault state as an explanation of the problem.")
	  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")
	  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_fb40da78 
struct logevent_filterChangerDetailedState_28cb3561 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="The filter changer state")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_filterChangerDetailedState_28cb3561 
	 const long filterChangerDetailedState_UNLOADING=1;
	 const long filterChangerDetailedState_LOADING=2;
	 const long filterChangerDetailedState_LOADED=3;
	 const long filterChangerDetailedState_UNLOADED=4;
	 const long filterChangerDetailedState_ROTATING=5;
struct logevent_focalPlaneHardwareIdSettingsApplied_cb8e67ac {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	version; // @Metadata=(Units="unitless",Description="Version number of these settings.")
	  string	rebLocation; // @Metadata=(Units="unitless",Description="REB location in focal-plane (e.g. R22RebX) (: delimited)")
	  string	rebSerialNumber; // @Metadata=(Units="unitless",Description="REB hardware serial number (: delimited)")
	  string	rebLSSTName; // @Metadata=(Units="unitless",Description="REB LSST identifier (: delimited)")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="CCD location in focal-plane (e.g. R22Snn) (: delimited)")
	  string	ccdLSSTNum; // @Metadata=(Units="unitless",Description="CCD LSST identifier (: delimited)")
	  string	ccdManSerNum; // @Metadata=(Units="unitless",Description="Sensor manufacturer's serial number (: delimited)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneHardwareIdSettingsApplied_cb8e67ac 
struct logevent_focalPlaneSummaryInfo_090af2b7 {  // @Metadata=(Description="Special event for use by header service. All of the information in this event is redundant (i;e. also supplied in")
	  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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="CCD location in focal-plane (e.g. R22S01) (: delimited). ")
	  string	raftBay; // @Metadata=(Units="unitless",Description="The raft bay for each CCD listed above; of the form Rnn : delimited")
	  string	ccdSlot; // @Metadata=(Units="unitless",Description="The CCD slot for each CCD listed above; of the form SXn : delimited")
	  string	rebSerialNumber; // @Metadata=(Units="unitless",Description="REB hardware serial number (: delimited)")
	  string	rebLSSTName; // @Metadata=(Units="unitless",Description="REB LSST identifier (: delimited)")
	  string	ccdLSSTName; // @Metadata=(Units="unitless",Description="CCD LSST identifier (: delimited)")
	  string	raftLSSTName; // @Metadata=(Units="unitless",Description="Raft LSST identifier (: delimited)")
	  string	ccdManSerNum; // @Metadata=(Units="unitless",Description="Sensor manufacturer's serial number (: delimited)")
	  string	ccdManufacturer; // @Metadata=(Units="unitless",Description="Sensor manufacturer E2V or ITL (: delimited)")
	  long	ccdType[9]; // @Metadata=(Units="unitless",Description="The type of each CCD")
	  double	ccdTempSetPoint[9]; // @Metadata=(Units="unitless",Description="Sensor temperature set point")
	  string	sequencerKey; // @Metadata=(Units="unitless",Description="The name of the CCD sequencer loaded (: delimited)")
	  string	sequencerChecksum; // @Metadata=(Units="unitless",Description="The checksum of the CCD sequencer loaded (: delimited)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focalPlaneSummaryInfo_090af2b7 
	 const long focalPlaneSummaryInfo_E2V=1;
	 const long focalPlaneSummaryInfo_ITL=2;
struct logevent_heartbeat_27e62c0a {  // @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")
	  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_27e62c0a 
struct logevent_imageReadinessDetailedState_4974762b {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadinessDetailedState_4974762b 
	 const long imageReadinessDetailedState_READY=1;
	 const long imageReadinessDetailedState_NOT_READY=2;
	 const long imageReadinessDetailedState_GETTING_READY=3;
struct logevent_imageReadoutParameters_4ade26aa {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure")
	  string	ccdLocation; // @Metadata=(Units="unitless",Description="A list of all ccds currently configured; of the form RnnSnn; : delimited (empty if entry not used)")
	  string	raftBay; // @Metadata=(Units="unitless",Description="The raft bay for each CCD listed above; of the form Rnn : delimited")
	  string	ccdSlot; // @Metadata=(Units="unitless",Description="The CCD slot for each CCD listed above; of the form SXn : delimited")
	  long	ccdType[9]; // @Metadata=(Units="unitless",Description="The type of each CCD; this determines segRows; segCols and serCols")
	  long	overRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	overCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols2[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preRows[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	postCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	underCols[9]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  string	daqFolder; // @Metadata=(Units="unitless",Description="DAQ folder where image will be created")
	  string	daqAnnotation; // @Metadata=(Units="unitless",Description="Annotation sent to DAQ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadoutParameters_4ade26aa 
	 const long imageReadoutParameters_E2V=1;
	 const long imageReadoutParameters_ITL=2;
struct logevent_logLevel_d9d4420e {  // @Metadata=(Description="Current logging level.")
	  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")
	  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_d9d4420e 
struct logevent_logMessage_557e74ee {  // @Metadata=(Description="A log message.")
	  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")
	  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_557e74ee 
struct logevent_notReadyToTakeImage_d8cc6533 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_notReadyToTakeImage_d8cc6533 
struct logevent_offlineDetailedState_6c79e183 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_offlineDetailedState_6c79e183 
	 const long offlineDetailedState_OFFLINE_AVAILABLE=1;
	 const long offlineDetailedState_OFFLINE_PUBLISH_ONLY=2;
struct logevent_prepareToTakeImage_5d0645d7 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_prepareToTakeImage_5d0645d7 
struct logevent_raftsDetailedState_15057934 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_raftsDetailedState_15057934 
	 const long raftsDetailedState_NEEDS_CLEAR=1;
	 const long raftsDetailedState_CLEARING=2;
	 const long raftsDetailedState_INTEGRATING=3;
	 const long raftsDetailedState_READING_OUT=4;
	 const long raftsDetailedState_QUIESCENT=5;
struct logevent_readyToTakeImage_aea4148d {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_readyToTakeImage_aea4148d 
struct logevent_settingVersions_a53d0fe2 {  // @Metadata=(Description="Information about settings which can be specified in the start command.")
	  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")
	  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_a53d0fe2 
struct logevent_settingsApplied_ecabb4f9 {  // @Metadata=(Description="Base settings applied.")
	  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")
	  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_ecabb4f9 
struct logevent_shutterDetailedState_8cda27bb {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_shutterDetailedState_8cda27bb 
	 const long shutterDetailedState_CLOSED=1;
	 const long shutterDetailedState_OPEN=2;
	 const long shutterDetailedState_CLOSING=3;
	 const long shutterDetailedState_OPENING=4;
struct logevent_simulationMode_6a56f9aa {  // @Metadata=(Description="Current simulation mode.")
	  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")
	  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_6a56f9aa 
struct logevent_softwareVersions_0486501c {  // @Metadata=(Description="Current verions of software in use by CSC.")
	  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")
	  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_0486501c 
struct logevent_startIntegration_d53cfce1 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startIntegration_d53cfce1 
struct logevent_startLoadFilter_a5c70314 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startLoadFilter_a5c70314 
struct logevent_startReadout_a1462b2d {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  double	timeStampStartOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was triggered")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startReadout_a1462b2d 
struct logevent_startRotateCarousel_b465b1df {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startRotateCarousel_b465b1df 
struct logevent_startSetFilter_466e7175 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startSetFilter_466e7175 
struct logevent_startShutterClose_69186bec {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterClose_69186bec 
struct logevent_startShutterOpen_c296e426 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterOpen_c296e426 
struct logevent_startUnloadFilter_1da40557 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startUnloadFilter_1da40557 
struct logevent_summaryState_d45ae70e {  // @Metadata=(Description="Current summary state of the CSC")
	  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")
	  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_d45ae70e 
struct quadbox_BFR_dd52142d {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	heater_I; // @Metadata=(Units="mA",Description="Heater current")
	  double	protection_I; // @Metadata=(Units="mA",Description="Protection system current")
	  double	dirty_48V_I; // @Metadata=(Units="mA",Description="Dirty 48V current")
	  double	dirty_24V_I; // @Metadata=(Units="mA",Description="Dirty 24V current")
	  double	clean_5_24V_I; // @Metadata=(Units="mA",Description="Clean 5 and 24V current")
	  double	rebps_0; // @Metadata=(Units="mA",Description="REB PS 0-2 current")
	  double	dirty_28V_I; // @Metadata=(Units="mA",Description="Dirty 28V current")
	};
#pragma keylist quadbox_BFR_dd52142d 
struct quadbox_PDU_24VC_ac490d51 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	bpu_Maq20_I; // @Metadata=(Units="mA",Description="Body purge MAQ20 current")
	  double	ion_Pumps_I; // @Metadata=(Units="mA",Description="Ion pumps current")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU FPGA temperature")
	  double	bpu_Maq20_V; // @Metadata=(Units="Volt",Description="Body purge MAQ20 voltage")
	  double	fes_Shu_HCU_I; // @Metadata=(Units="mA",Description="FES/shutter HCU current")
	  double	board_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU board temperature")
	  double	body_Purge_V; // @Metadata=(Units="Volt",Description="Body purge voltage")
	  double	pwr_Cry_HCU_V; // @Metadata=(Units="Volt",Description="Power/cryo HCU voltage")
	  double	pwr_Cry_HCU_I; // @Metadata=(Units="mA",Description="Power/cryo HCU current")
	  double	body_Purge_I; // @Metadata=(Units="mA",Description="Body purge current")
	  double	fes_Shu_HCU_V; // @Metadata=(Units="Volt",Description="FES/shutter HCU voltage")
	  double	gauges_V; // @Metadata=(Units="Volt",Description="Gauges voltage")
	  double	main_T; // @Metadata=(Units="Celsius",Description="24V Clean PDU main temperature")
	  double	main_V; // @Metadata=(Units="Volt",Description="24V Clean PDU main voltage")
	  double	ion_Pumps_V; // @Metadata=(Units="Volt",Description="Ion pumps voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="24V Clean PDU main current")
	  double	gauges_I; // @Metadata=(Units="mA",Description="Gauges current")
	};
#pragma keylist quadbox_PDU_24VC_ac490d51 
struct quadbox_PDU_24VD_fd0f746a {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	board_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU board temperature")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU FPGA temperature")
	  double	cryo_Turbo_I; // @Metadata=(Units="mA",Description="Cryo turbo pump current")
	  double	main_V; // @Metadata=(Units="Volt",Description="24V Dirty PDU main voltage")
	  double	main_T; // @Metadata=(Units="Celsius",Description="24V Dirty PDU main temperature")
	  double	cryo_Turbo_V; // @Metadata=(Units="Volt",Description="Cryo turbo pump voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="24V Dirty PDU main current")
	};
#pragma keylist quadbox_PDU_24VD_fd0f746a 
struct quadbox_PDU_48V_735b3486 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	board_T; // @Metadata=(Units="Celsius",Description="48V PDU board temperature")
	  double	main_T; // @Metadata=(Units="Celsius",Description="48V PDU main temperature")
	  double	main_V; // @Metadata=(Units="Volt",Description="48V PDU main voltage")
	  double	main_I; // @Metadata=(Units="mA",Description="48V PDU main current")
	  double	fpga_T; // @Metadata=(Units="Celsius",Description="48V PDU FPGA temperature")
	};
#pragma keylist quadbox_PDU_48V_735b3486 
struct quadbox_PDU_5V_43d4c5f3 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	otm_0_B_V; // @Metadata=(Units="Volt",Description="OTM 0-B voltage")
	  double	otm_0_A_V; // @Metadata=(Units="Volt",Description="OTM 0-A voltage")
	  double	otm_0_A_I; // @Metadata=(Units="mA",Description="OTM 0-A current")
	  double	otm_0_B_I; // @Metadata=(Units="mA",Description="OTM 0-B current")
	};
#pragma keylist quadbox_PDU_5V_43d4c5f3 
struct rebpower_R22_e16c598d {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	reb1_analog_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_heater_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_clockhi_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb2_clockhi_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_heater_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_digital_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_heater_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb1_digital_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_digital_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_Power; // @Metadata=(Units="Watt",Description="R22/Reb0 all PSs\Total power")
	  double	reb2_OD_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_clocklo_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_digital_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 digital PS\Voltage before LDO")
	  double	reb1_clockhi_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb2_heater_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 heater PS\Voltage before LDO")
	  double	reb1_clocklo_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_analog_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_clocklo_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb2_analog_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 analog PS\Voltage before LDO")
	  double	reb0_clockhi_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_hvbias_VbefSwch; // @Metadata=(Units="Volt",Description="R22/Reb2 hvbias PS\Voltage before switch")
	  double	reb2_OD_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb1_OD_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb0_clockhi_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 clockhi PS\Voltage before LDO")
	  double	reb0_OD_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb2_analog_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_clocklo_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_analog_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb1_OD_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb1_clockhi_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_Power; // @Metadata=(Units="Watt",Description="R22/Reb2 all PSs\Total power")
	  double	reb0_clocklo_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb2_clockhi_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb2_analog_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_heater_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb1_analog_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_digital_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_analog_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 analog PS\Voltage before LDO")
	  double	reb0_analog_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_digital_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_heater_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb1_heater_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_heater_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_clockhi_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_digital_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_OD_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb1_OD_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb1_OD_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb2_hvbias_IbefSwch; // @Metadata=(Units="mA",Description="Current before switch")
	  double	reb2_clockhi_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 clockhi PS\Voltage before LDO")
	  double	reb0_digital_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_OD_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_OD_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb0_clocklo_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 clocklo PS\Voltage before LDO")
	  double	reb2_OD_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_clocklo_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_OD_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 OD PS\Voltage before LDO")
	  double	reb1_clocklo_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb1_clockhi_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 clockhi PS\Voltage before LDO")
	  double	reb2_clockhi_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb2_OD_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb1_OD_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_analog_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb1_clocklo_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb1_hvbias_VbefSwch; // @Metadata=(Units="Volt",Description="R22/Reb1 hvbias PS\Voltage before switch")
	  double	reb1_hvbias_IbefSwch; // @Metadata=(Units="mA",Description="Current before switch")
	  double	reb1_analog_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 analog PS\Voltage before LDO")
	  double	reb1_heater_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 heater PS\Voltage before LDO")
	  double	reb2_clocklo_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_digital_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_clocklo_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 clocklo PS\Voltage before LDO")
	  double	reb1_analog_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb2_clocklo_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb0_clockhi_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb1_analog_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_heater_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 heater PS\Voltage before LDO")
	  double	reb1_heater_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_heater_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_digital_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_heater_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_digital_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 digital PS\Voltage before LDO")
	  double	reb2_digital_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_clockhi_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb2_analog_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb1_Power; // @Metadata=(Units="Watt",Description="R22/Reb1 all PSs\Total power")
	  double	reb0_hvbias_IbefSwch; // @Metadata=(Units="mA",Description="Current before switch")
	  double	reb2_OD_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_OD_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 OD PS\Voltage before LDO")
	  double	reb1_clocklo_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb1_clocklo_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb1 clocklo PS\Voltage before LDO")
	  double	reb2_OD_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb2 OD PS\Voltage before LDO")
	  double	reb1_digital_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb2_heater_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_OD_IbefLDO; // @Metadata=(Units="mA",Description="Current before LDO")
	  double	reb0_hvbias_VbefSwch; // @Metadata=(Units="Volt",Description="R22/Reb0 hvbias PS\Voltage before switch")
	  double	reb2_heater_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_digital_VbefLDO; // @Metadata=(Units="Volt",Description="R22/Reb0 digital PS\Voltage before LDO")
	  double	reb2_digital_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_clocklo_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_clockhi_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb0_clocklo_IaftLDO; // @Metadata=(Units="mA",Description="Current after LDO")
	  double	reb2_analog_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	  double	reb1_clocklo_VaftLDO2; // @Metadata=(Units="Volt",Description="Voltage after LDO2")
	  double	reb2_clockhi_VaftLDO; // @Metadata=(Units="Volt",Description="Voltage after LDO")
	  double	reb0_clocklo_VaftSwch; // @Metadata=(Units="Volt",Description="Voltage after switch")
	};
#pragma keylist rebpower_R22_e16c598d 
struct rebpower_RebPS_712d2967 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	p00_BoardTemp2; // @Metadata=(Units="Celsius",Description="Board temperature 2")
	  double	p00_BoardTemp3; // @Metadata=(Units="Celsius",Description="Board temperature 3")
	  double	p00_BoardTemp4; // @Metadata=(Units="Celsius",Description="Board temperature 4")
	  double	p00_BoardTemp5; // @Metadata=(Units="Celsius",Description="Board temperature 5")
	  double	p00_BoardTemp0; // @Metadata=(Units="Celsius",Description="Board temperature 0")
	  double	p00_BoardTemp1; // @Metadata=(Units="Celsius",Description="Board temperature 1")
	  double	p00_BoardTemp6; // @Metadata=(Units="Celsius",Description="Board temperature 6")
	};
#pragma keylist rebpower_RebPS_712d2967 
struct vacuum_Cold1_406a88b2 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	};
#pragma keylist vacuum_Cold1_406a88b2 
struct vacuum_Cold2_8f488b05 {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	};
#pragma keylist vacuum_Cold2_8f488b05 
struct vacuum_Cryo_0ef62a9c {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	rejectTemperature; // @Metadata=(Units="Celsius",Description="Cooler reject temperature reading")
	  double	autoOffEnabled; // @Metadata=(Units="unitless",Description="Cooler auto shutoff state")
	  double	power; // @Metadata=(Units="W",Description="Cooler power")
	  double	setPower; // @Metadata=(Units="W",Description="Cooler power")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Cooler temperature")
	  double	autoOnTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff turn back on temperature setting")
	  double	setpoint; // @Metadata=(Units="Celsius",Description="Cooler setpoint temperature")
	  double	autoOffTemperature; // @Metadata=(Units="Celsius",Description="Cooler auto shutoff temperature setting")
	};
#pragma keylist vacuum_Cryo_0ef62a9c 
struct vacuum_IonPumps_613d338a {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	ionpump_voltage; // @Metadata=(Units="Volt",Description="Cryo ion pump 1 voltage")
	  double	ionpump_current; // @Metadata=(Units="mA",Description="Cryo ion pump 1 current")
	};
#pragma keylist vacuum_IonPumps_613d338a 
struct vacuum_Turbo_d83a27db {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	rpm; // @Metadata=(Units="unitless",Description="TurboPump speed (RPM)")
	  double	power; // @Metadata=(Units="Watt",Description="TurboPump power")
	  double	voltage; // @Metadata=(Units="Volt",Description="TurboPump voltage")
	  double	turboSpeed; // @Metadata=(Units="unitless",Description="Turbo pump speed (RPM)")
	  double	pumpTemperature; // @Metadata=(Units="Celsius",Description="TurboPump pump temperature")
	  double	status; // @Metadata=(Units="unitless",Description="TurboPump status: 5=normal; 6=fail")
	  double	cntrlrSinkTemperature; // @Metadata=(Units="Celsius",Description="TurboPump controller sink temp.")
	  double	driveFrequency; // @Metadata=(Units="Hz",Description="TurboPump drive freq.")
	  double	current; // @Metadata=(Units="mA",Description="TurboPump current")
	  double	cntrlrAirTemperature; // @Metadata=(Units="Celsius",Description="TurboPump controller air temp.")
	};
#pragma keylist vacuum_Turbo_d83a27db 
struct vacuum_VQMonitor_a5c6b78a {  // @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")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	vqmpressure; // @Metadata=(Units="Torr",Description="VQM Pressure Reading")
	};
#pragma keylist vacuum_VQMonitor_a5c6b78a 
struct ackcmd_25379cbd {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_25379cbd 
};

