From 2f7a1d1e19ad89d25602e507a439248010576bdd Mon Sep 17 00:00:00 2001 From: Sven Czarnian Date: Sun, 8 Aug 2021 20:50:50 +0200 Subject: [PATCH] define the first version of the protocol buffers --- Aircraft.proto | 19 +++++++++++++++++++ AircraftReport.proto | 13 +++++++++++++ AircraftSchedule.proto | 12 ++++++++++++ BaseTypes.proto | 18 ++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 Aircraft.proto create mode 100644 AircraftReport.proto create mode 100644 AircraftSchedule.proto create mode 100644 BaseTypes.proto diff --git a/Aircraft.proto b/Aircraft.proto new file mode 100644 index 0000000..5c47705 --- /dev/null +++ b/Aircraft.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; +package vatger.aman; + +message Aircraft { + enum EngineType { + UNKNOWN = 0; + ELECTRIC = 1; + TURBOPROB = 2; + JET = 3; + } + + string callsign = 1; // aircraft's callsign + string airline = 2; // corresponding airline + string type = 3; // aircraft ICAO type + string wtc = 4; // WTC + string wakeRecat = 5; // wake recatogization category + Int32 engineCount = 6; // number of engines + EngineType engineType = 7; // engine type +} diff --git a/AircraftReport.proto b/AircraftReport.proto new file mode 100644 index 0000000..53577d0 --- /dev/null +++ b/AircraftReport.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package vatger.aman; + +import "Aircraft.proto"; +import "BaseTypes.proto"; + +message AircraftReport { + Aircraft aircraft = 1; // aircraft information + string initialApproachFix = 2; // last waypoint of the route + Coordinate position = 3; // current WGS84 position + Dynamics dynamics = 4; // current aircraft dynamics + Time timeAtIAF = 5; // UTC time when aircraft is at IAF +} diff --git a/AircraftSchedule.proto b/AircraftSchedule.proto new file mode 100644 index 0000000..0dafbaa --- /dev/null +++ b/AircraftSchedule.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package vatger.aman; + +import "Aircraft.proto"; +import "BaseTypes.proto"; + +message AircraftSchedule { + Aircraft aircraft = 1; // aircraft information + string arrivalRoute = 2; // planned arrival route + string arrivalRunway = 3; // planned arrival runway + Time reachIafAtTime = 4; // UTC time when the aircraft needs to pass IAF +} diff --git a/BaseTypes.proto b/BaseTypes.proto new file mode 100644 index 0000000..02a14f3 --- /dev/null +++ b/BaseTypes.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; +package vatger.aman; + +message Coordinate { + string latitude = 1; // WGS84 latitude in degrees + string longitude = 2; // WGS84 longitude in degrees +} + +message Dynamics { + int32 groundSpeed = 1; // given in knots + int32 altitude = 2; // given in feet + int32 verticalSpeed = 3; // given in feet/min +} + +message Time { + int32 hour = 1; // hours in 24-format + int32 minute = 2; // minutes +}