1 #ifndef CARMA_MONITOR_IDL
2 #define CARMA_MONITOR_IDL
39 const string MONITOR_CHANNEL_NAME =
"CARMAmonitor";
52 const MonitorValueType MONITOR_VALUE_TYPE_BYTE = 0;
53 const MonitorValueType MONITOR_VALUE_TYPE_SHORT = 1;
54 const MonitorValueType MONITOR_VALUE_TYPE_INTEGER = 2;
55 const MonitorValueType MONITOR_VALUE_TYPE_BOOLEAN = 3;
56 const MonitorValueType MONITOR_VALUE_TYPE_FLOAT = 4;
57 const MonitorValueType MONITOR_VALUE_TYPE_DOUBLE = 5;
58 const MonitorValueType MONITOR_VALUE_TYPE_COMPLEX = 6;
59 const MonitorValueType MONITOR_VALUE_TYPE_STRING = 7;
60 const MonitorValueType MONITOR_VALUE_TYPE_SERIAL_NUMBER = 8;
83 union TransportMonitorValue switch (MonitorValueType)
85 case MONITOR_VALUE_TYPE_BYTE:
char c;
86 case MONITOR_VALUE_TYPE_SHORT:
short s;
87 case MONITOR_VALUE_TYPE_INTEGER:
long i;
88 case MONITOR_VALUE_TYPE_BOOLEAN:
boolean b;
89 case MONITOR_VALUE_TYPE_FLOAT:
float f;
90 case MONITOR_VALUE_TYPE_DOUBLE:
double d;
91 case MONITOR_VALUE_TYPE_COMPLEX:
float complex[2];
92 case MONITOR_VALUE_TYPE_STRING:
char str[8];
93 case MONITOR_VALUE_TYPE_SERIAL_NUMBER:
long sn;
96 typedef sequence<TransportMonitorValue> TransportMonitorValueSeq;
149 typedef sequence<MonitorValueType> MonitorValueTypeSeq;
150 typedef sequence<unsigned short> UShortSeq;
151 typedef sequence<octet> ValidityFlagSeq;
152 typedef sequence<octet> iSampleSeq;
153 typedef sequence<char,8> Char8;
154 typedef sequence<char> CharSeq;
155 typedef sequence<short> ShortSeq;
156 typedef sequence<long> LongSeq;
157 typedef sequence<boolean> BoolSeq;
158 typedef sequence<float> FloatSeq;
159 typedef sequence<double> DoubleSeq;
160 typedef sequence<ComplexFloat> ComplexSeq;
161 typedef sequence<Char8> StringSeq;
162 typedef sequence<long> SerialNumberSeq;
163 typedef sequence<TransportMonitorValueMetadata> MonitorSampleValueMetadataSeq;
166 struct MonitorSampleValues
169 MonitorValueTypeSeq dataType;
172 ValidityFlagSeq validityFlags;
178 ShortSeq shortValues;
181 FloatSeq floatValues;
182 DoubleSeq doubleValues;
183 ComplexSeq complexValues;
184 StringSeq stringValues;
185 SerialNumberSeq serialNumberValues;
241 unsigned short numSingleSamplePoints;
335 interface MonitorPointUpdate
337 double monitorPointSampleUpdate(
338 in MonitorSampleValues values,
double scriberWriteTime
Time at which frame was written to local (subsystem) IPQ.
short MonitorValueType
Enumeration of possible types for monitor point values.
unsigned short statusFlags
Bit fields with the state of the subsystem frame - complete, partial, empty, sent, received.
double lastWriteTime
Time at which data was last written to ScriberPublisher.
double receiveTime
Time at which frame was received at the ACC, as MJD, obtained from the carma/util/Time class...
Contains sample values from all monitor points in a monitor subsystem.
unsigned short numMonitorPoints
Number of monitor points in the frame, as defined by the number of configured monitor points...
unsigned short maxMonitorPoints
Maximum number of monitor points possible for this subsystem.
Generic Carma variant of CORBA::UserException.
unsigned short maxSamples
Maximum number of monitor sample values in the frame.
double publishTime
Time at which frame was published from the subsystem computer, as MJD, obtained from the carma/util/T...
unsigned short numSamples
Total number of monitor sample values in the frame, as defined by the sum of the number of samples fo...
unsigned short subsystemID
Subsystem ID for the monitor subsystem.
double scriberWriteDelay
Offset from half-second at which scriberPublisher is set to write to local (subsystem) IPQ...
CORBA User Exception for carma::util.
unsigned long frameCount
Timestamp for the frame, measured in half-seconds from the Epoch.
MonitorSampleValues monitorValues
Structure containing monitor sample values.
double lastWriterDelay
Offset from half-second at which writer is set to write to ScriberPublisher.