
yamcs.protobuf.pvalue.pvalue.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yamcs-api Show documentation
Show all versions of yamcs-api Show documentation
Used by external clients to communicate with Yamcs
syntax="proto2";
package yamcs.protobuf.pvalue;
option java_package = "org.yamcs.protobuf";
import "yamcs/protobuf/yamcs.proto";
import "yamcs/protobuf/mdb/mdb.proto";
import "google/protobuf/timestamp.proto";
//this can also be called validity status
enum AcquisitionStatus {
// OK!
ACQUIRED = 0;
// No value received so far
NOT_RECEIVED = 1;
// Some value has been received but is invalid
INVALID = 2;
// The parameter is coming from a packet which has not since updated although it should have been
EXPIRED = 3;
}
enum MonitoringResult {
DISABLED = 0;
IN_LIMITS = 1;
WATCH = 7;
WARNING = 10;
DISTRESS = 13;
CRITICAL = 16;
SEVERE = 19;
}
enum RangeCondition {
LOW = 0;
HIGH = 1;
}
message ParameterValue {
// Parameter identifier
optional NamedObjectId id = 1;
// Raw value (uncalibrated)
optional Value rawValue = 2;
// Engineering value (calibrated)
optional Value engValue = 3;
// Time of Yamcs reception
optional google.protobuf.Timestamp acquisitionTime = 4;
// Time of generation (~ packet time)
optional google.protobuf.Timestamp generationTime = 5;
optional AcquisitionStatus acquisitionStatus = 6;
// Deprecated: this field was originally introduced for compatibility
// with Airbus CGS/CD-MCS system. It was redundant, because when false,
// the acquisitionStatus is also set to INVALID.
optional bool processingStatus = 7 [deprecated = true];
optional MonitoringResult monitoringResult = 8;
optional RangeCondition rangeCondition = 9;
// Context-dependent ranges
repeated mdb.AlarmRange alarmRange = 25;
// How long (in milliseconds) this parameter value is valid
// Note that there is an option when subscribing to parameters to get
// updated when the parameter values expire.
optional int64 expireMillis = 26;
// When transferring parameters over WebSocket, this value might be used
// instead of the id above in order to reduce the bandwidth.
// Note that the id <-> numericId assignment is only valid in the context
// of a single WebSocket call.
optional uint32 numericId = 27;
}
message ParameterData {
repeated ParameterValue parameter = 1;
// The next three fields are used by the recorder as unique key to store
// parameters in "rows" and also by components that provide parameters
// from external sources. The time should roughly correspond to the parameter
// time but can be rounded for better efficiency.
optional string group = 2;
optional int64 generationTime = 3;
optional int32 seqNum = 4;
// Used when parameter data is delivered as result of subscriptions
optional int32 subscriptionId = 5;
}
message TimeSeries {
message Sample {
// Start time of the sample interval.
optional google.protobuf.Timestamp time = 6;
// Average numeric value during the sample interval.
optional double avg = 2;
// Minimum numeric value during the sample interval.
optional double min = 3;
// Maximum numeric value during the sample interval.
optional double max = 4;
// Number of samples during the sample interval.
// If this value is zero, it indicates a gap.
optional int32 n = 5;
// Generation time of the ``min`` value.
optional google.protobuf.Timestamp minTime = 7;
// Generation time of the ``max`` value.
optional google.protobuf.Timestamp maxTime = 8;
}
// List of samples.
repeated Sample sample = 1;
}
message Ranges {
message Range {
// Generation time of a parameter value.
optional google.protobuf.Timestamp start = 7;
// If the value changes, ``stop`` is the generation time of the new value.
// If the parameter expires or the ``maxGap`` has been set, ``stop`` is
// the generation time of the last value plus the expiration time or the
// ``maxGap``.
optional google.protobuf.Timestamp stop = 8;
// Number of parameter values received in the interval.
// This is the total count of parameters in the interval.
// If the count does not match the sum(counts), it means that not all the values have been sent
optional int32 count = 4;
// Since Yamcs 5.4.1 there is a new parameter minRange in the GetParameterRangesRequest which allows
// specifying the minimum length of the range returned.
// Practically we guarantee that stop-start >= minRange (mind the leap seconds!).
//
// If the minRange parameter is set, the returning ranges may include multiple values.
// These are given by the engValues and counts below.
//
// Since Yamcs 5.4.2 there is a new parameter maxValues which allows to limit the number
// of distinct values returned across all the ranges.
// In order to not return ranges containing no value, each range will have at least one value even if
// that will cause the total number of range values returned to exceed the maxValues parameter
//
// The counts correspond one to one to the engValues, the two arrays will always have the same length.
repeated Value engValues = 5;
// The counts correspond one to one to the engValues
repeated int32 counts = 6;
}
repeated Range range = 1;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy