mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
62 lines
2 KiB
Protocol Buffer
62 lines
2 KiB
Protocol Buffer
/// Protobuf schema based on msg_format.h
|
|
///
|
|
/// @file
|
|
/// @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
|
/// @copyright 2014-2020, Institute for Automation of Complex Power Systems, EONERC
|
|
/// @license GNU General Public License (version 3)
|
|
///
|
|
/// VILLASnode
|
|
///
|
|
/// This program is free software: you can redistribute it and/or modify
|
|
/// it under the terms of the GNU General Public License as published by
|
|
/// the Free Software Foundation, either version 3 of the License, or
|
|
/// any later version.
|
|
///
|
|
/// This program is distributed in the hope that it will be useful,
|
|
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
/// GNU General Public License for more details.
|
|
///
|
|
/// You should have received a copy of the GNU General Public License
|
|
/// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
syntax = "proto2";
|
|
|
|
package villas.node;
|
|
|
|
message Message {
|
|
repeated Sample samples = 1;
|
|
}
|
|
|
|
message Sample {
|
|
enum Type {
|
|
DATA = 1; // Message contains float / integer data values
|
|
START = 2; // Message marks the beginning of a new simulation case
|
|
STOP = 3; // Message marks the end of a simulation case
|
|
};
|
|
|
|
required Type type = 1 [default = DATA];
|
|
optional uint64 sequence = 2; // The sequence number is incremented by one for consecutive messages.
|
|
optional Timestamp timestamp = 4;
|
|
repeated Value values = 5;
|
|
}
|
|
|
|
message Timestamp {
|
|
required uint32 sec = 1; // Seconds since 1970-01-01 00:00:00
|
|
required uint32 nsec = 2; // Nanoseconds of the current second.
|
|
}
|
|
|
|
message Value {
|
|
oneof value {
|
|
double f = 1; // Floating point values.
|
|
int64 i = 2; // Integer values.
|
|
bool b = 3; // Boolean values.
|
|
Complex z = 4; // Complex values.
|
|
}
|
|
}
|
|
|
|
message Complex {
|
|
required float real = 1; // Real component
|
|
required float imag = 2; // Imaginary component
|
|
}
|