49 lines
842 B
Protocol Buffer
49 lines
842 B
Protocol Buffer
|
|
syntax = "proto3";
|
|
package core;
|
|
|
|
enum TelemetryDataType {
|
|
FLOAT_32 = 0;
|
|
FLOAT_64 = 1;
|
|
}
|
|
|
|
message TelemetryValue {
|
|
oneof value {
|
|
float float_32 = 1;
|
|
double float_64 = 2;
|
|
}
|
|
}
|
|
|
|
message UUID {
|
|
bytes value = 1;
|
|
}
|
|
|
|
// UTC since UNIX
|
|
message Timestamp {
|
|
sfixed64 secs = 1;
|
|
sfixed32 nanos = 2;
|
|
}
|
|
|
|
message TelemetryDefinitionRequest {
|
|
string name = 1;
|
|
TelemetryDataType data_type = 2;
|
|
}
|
|
|
|
message TelemetryDefinitionResponse {
|
|
UUID uuid = 1;
|
|
}
|
|
|
|
message TelemetryItem {
|
|
UUID uuid = 1;
|
|
TelemetryValue value = 2;
|
|
Timestamp timestamp = 3;
|
|
}
|
|
|
|
message TelemetryInsertResponse {
|
|
}
|
|
|
|
service TelemetryService {
|
|
rpc NewTelemetry (TelemetryDefinitionRequest) returns (TelemetryDefinitionResponse);
|
|
rpc InsertTelemetry (stream TelemetryItem) returns (stream TelemetryInsertResponse);
|
|
}
|