
yamcs.protobuf.processing.mdb_override_service.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.processing;
option java_package = "org.yamcs.protobuf";
option java_outer_classname = "MdbOverrideServiceProto";
option java_multiple_files = true;
import "google/protobuf/empty.proto";
import "yamcs/api/annotations.proto";
import "yamcs/protobuf/mdb/mdb.proto";
// Groups operations that support runtime changes to some parts of the MDB.
//
// These changes are always scoped to a processor, and do not persist across
// server restarts.
service MdbOverrideApi {
option (yamcs.api.label) = "MDB Override";
// List MDB overrides
rpc ListMdbOverrides(ListMdbOverridesRequest) returns (ListMdbOverridesResponse) {
option (yamcs.api.route) = {
label: "List MDB Overrides"
get: "/api/mdb-overrides/{instance}/{processor}"
};
}
// Get overrides for an algorithm
rpc GetAlgorithmOverrides(GetAlgorithmOverridesRequest) returns (GetAlgorithmOverridesResponse) {
option (yamcs.api.route) = {
get: "/api/mdb-overrides/{instance}/{processor}/algorithms/{name*}"
};
}
// Get elements of a parameter's definition, as changed for a
// specific processor.
//
// This may return empty, if there is no change, or a previous change
// was explicitly deleted.
rpc GetParameterOverride(GetParameterOverrideRequest) returns (ParameterOverride) {
option (yamcs.api.route) = {
get: "/api/mdb-overrides/{instance}/{processor}/parameters/{name*}"
};
}
// Update a parameter's definition
rpc UpdateParameter(UpdateParameterRequest) returns (mdb.ParameterTypeInfo) {
option (yamcs.api.route) = {
patch: "/api/mdb-overrides/{instance}/{processor}/parameters/{name*}"
body: "*"
additional_bindings: {
patch: "/api/mdb/{instance}/{processor}/parameters/{name*}"
body: "*"
deprecated: true
}
};
}
// Update an algorithm's definition
rpc UpdateAlgorithm(UpdateAlgorithmRequest) returns (google.protobuf.Empty) {
option (yamcs.api.route) = {
patch: "/api/mdb-overrides/{instance}/{processor}/algorithms/{name*}"
body: "*"
additional_bindings: {
patch: "/api/mdb/{instance}/{processor}/algorithms/{name*}"
body: "*"
deprecated: true
}
};
}
// Receive notifications on processor-level MDB changes.
//
// Updates include the current state of the algorithm or
// parameter, also when an override is essentially removed.
rpc SubscribeMdbChanges(SubscribeMdbChangesRequest) returns (stream MdbOverrideInfo) {
option (yamcs.api.websocket) = {
label: "Subscribe MDB Changes"
topic: "mdb-changes"
};
}
}
message SubscribeMdbChangesRequest {
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
}
message ListMdbOverridesRequest {
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
}
message ListMdbOverridesResponse {
repeated MdbOverrideInfo overrides = 1;
}
message GetAlgorithmOverridesRequest {
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
// Algorithm name.
optional string name = 3;
}
message GetAlgorithmOverridesResponse {
// Updated algorithm text
optional AlgorithmTextOverride textOverride = 1;
}
message GetParameterOverrideRequest {
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
// Parameter name.
optional string name = 3;
}
// A change to a parameter's type.
//
// This can be either due to an alarm or a calibrator change.
message ParameterOverride {
// Parameter name
optional string parameter = 1;
// Default calibrator (when no specific context)
optional mdb.CalibratorInfo defaultCalibrator = 5;
// Calibrators under specific context
repeated mdb.ContextCalibratorInfo contextCalibrators = 6;
// Default alarm properties (when no specific context)
optional mdb.AlarmInfo defaultAlarm = 7;
// Alarm properties under specific context
repeated mdb.ContextAlarmInfo contextAlarms = 8;
}
message MdbOverrideInfo {
enum OverrideType {
// Override of an algorithm's text
ALGORITHM_TEXT = 0;
// Override of a parameter's type
// (alarms, calibrators, or both)
PARAMETER = 1;
}
optional OverrideType type = 1;
optional AlgorithmTextOverride algorithmTextOverride = 2;
optional ParameterOverride parameterOverride = 3;
}
message AlgorithmTextOverride {
// Algorithm name
optional string algorithm = 1;
// Algorithm text
optional string text = 2;
}
// Used to change calibrators or alarms for one parameter
message UpdateParameterRequest {
enum ActionType {
// Reset all parameter properties (calibrators+alarms) to their default
// Mission Database value
RESET = 0;
// Reset calibrators to their default MDB value
RESET_CALIBRATORS = 1;
// Sets the default calibrator (the contextual ones are unmodified)
SET_DEFAULT_CALIBRATOR = 2;
// Sets all calibrations (default + contextual), if default is not set,
// the existing calibration is not modified
SET_CALIBRATORS = 3;
// Reset alarms to their default Mission Database value
RESET_ALARMS = 4;
// Sets the default alarms (contextual ones are unmodified)
SET_DEFAULT_ALARMS = 5;
// Sets all alarms (default + contextual), if default is not set, the
// existing alarm is not modified.
SET_ALARMS = 6;
}
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
// Parameter name.
optional string name = 3;
// The action by which to modify this parameter.
optional ActionType action = 4;
// Used when action = SET_DEFAULT_CALIBRATOR or SET_CALIBRATORS
optional mdb.CalibratorInfo defaultCalibrator = 5;
// Used when action = SET_CALIBRATORS
repeated mdb.ContextCalibratorInfo contextCalibrator = 6;
// Used when action = SET_DEFAULT_ALARMS or SET_ALARMS
optional mdb.AlarmInfo defaultAlarm = 7;
// Used when action = SET_ALARMS
repeated mdb.ContextAlarmInfo contextAlarm = 8;
}
message UpdateAlgorithmRequest {
enum ActionType {
// Restores the original MDB definition
RESET = 0;
// Sets the algorithm text
SET = 1;
}
// Yamcs instance name.
optional string instance = 1;
// Processor name.
optional string processor = 2;
// Algorithm name.
optional string name = 3;
// The action by which to modify this algorithm
optional ActionType action = 4;
// Used when action = SET
optional mdb.AlgorithmInfo algorithm = 6;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy