commit 03c0d309284641602ef55807797a07ad2d23c142 Author: Erwin Nindl Date: Thu Jun 17 18:26:32 2021 +0200 initial commit diff --git a/assignment.pdf b/assignment.pdf new file mode 100644 index 0000000..1b24adb Binary files /dev/null and b/assignment.pdf differ diff --git a/protocol_buffers_definitions/locatorevents.proto b/protocol_buffers_definitions/locatorevents.proto new file mode 100644 index 0000000..e71c0a2 --- /dev/null +++ b/protocol_buffers_definitions/locatorevents.proto @@ -0,0 +1,17 @@ +syntax = "proto2"; + +package indoors.proto; + +enum LocatorEventType +{ + BUILDING_LOADED = 0; + FLIPMAP_GENERATED = 1; + NEW_LOCATOR_LOOP = 2; + KALMAN_INITIALIZED = 3; +} + +message LocatorEvent +{ + required double t = 1; + required LocatorEventType type = 2; +} \ No newline at end of file diff --git a/protocol_buffers_definitions/positions.proto b/protocol_buffers_definitions/positions.proto new file mode 100644 index 0000000..05ae210 --- /dev/null +++ b/protocol_buffers_definitions/positions.proto @@ -0,0 +1,54 @@ +syntax = "proto2"; + +package indoors.proto; + +enum PositionType { + KNN = 0; + GROUND_TRUTH = 1; + FINAL = 2; + KALMAN = 3; + SLAM = 4; + FLIP = 5; + AKF = 6; + SLAM_GRID = 7; + SLAM_MAP = 9; + SLAM_GRAPH = 10; + GPS = 11; + RADIO_BLE = 12; + RADIO_WIFI = 13; + RADIO_WIFI_BLE = 14; + PROXIMITY = 15; + APPLE = 16; + SELECTED = 17; + + UNKNOWN = 255; +} + +message GlobalPosition { + required double t = 1; + required double latitude = 2; + required double longitude = 3; + optional double accuracy = 4; + optional double altitude = 5; + optional double altitude_accuracy = 6; + optional double speed = 7; + optional double speed_accuracy = 8; + optional double heading = 9; + optional double device_timestamp = 10; +} + +message Position { + optional double t = 1 [deprecated=true]; + optional double x = 2; + optional double y = 3; + optional int64 floor = 4; + optional double sx2 = 5; + optional double sy2 = 6; + optional double sxy = 7; + required PositionType type = 8; + optional double accuracy = 9; + optional double delay = 10; + optional double t_created = 11; + optional double t_est = 12; + optional PositionType ancestor = 13; +} diff --git a/protocol_buffers_definitions/recordings.proto b/protocol_buffers_definitions/recordings.proto new file mode 100644 index 0000000..3d3d8b1 --- /dev/null +++ b/protocol_buffers_definitions/recordings.proto @@ -0,0 +1,40 @@ +syntax = "proto2"; + +package indoors.proto; +import "structures.proto"; +import "positions.proto"; +import "sensors.proto"; +import "locatorevents.proto"; + +message Recording { + + required int64 id = 1; + required int64 building = 2; + required double created_at = 3; + required double start = 4; + required double end = 5; + + repeated NamedValue meta = 6; + + repeated Sensor accelerations = 7; + repeated Sensor gyros = 8; + repeated Sensor magnetics = 9; + repeated Sensor rotations = 10 [deprecated = true]; + + repeated Pressure pressures = 11; + repeated Radio radios = 12; + repeated Step steps = 13; + repeated Context contexts = 14; + + repeated Position positions = 15; + repeated GlobalPosition global_positions = 20; + + repeated Orientation orientations = 21; + + optional int64 parent = 22; + + optional string device = 23; + optional string user_name = 24; + + repeated LocatorEvent events = 25; +} diff --git a/protocol_buffers_definitions/sensors.proto b/protocol_buffers_definitions/sensors.proto new file mode 100644 index 0000000..442f5fa --- /dev/null +++ b/protocol_buffers_definitions/sensors.proto @@ -0,0 +1,79 @@ +syntax = "proto2"; + +package indoors.proto; + +message Sensor { + + required double t = 1; + required double x = 2; + required double y = 3; + required double z = 4; + optional double accuracy = 5 [default = 1.0]; + +} + +message Context { + + required double t = 1; + required int64 identifier = 2; + required int64 confidence = 3; + +} + +message Pressure { + + required double t = 1; + required double v = 2; + +} + +message Step { + + required double t = 1; + required double length = 2; + required double length_error = 3; + optional double heading = 4; + optional double heading_error = 5; + optional double max_acc = 6; + +} + +enum RadioType { + WIFI = 0; + GSM = 1; + UKW = 2; + BLUETOOTH = 3; + BLUETOOTH_LE = 4; + IBEACON = 5; + UNDEFINED = 6; +} + +message Radio { + + required RadioType type = 1; + required double t = 2; + required string ssid = 3; + required int64 bssid = 4; + required int64 rssi = 5; + +} + +enum OrientationType { + DEVICE_ORIENTATION = 0; + PDR_ORIENTATION = 1; + KALMAN_ORIENTATION = 2; + FINAL_ORIENTATION = 3; +} + +message Orientation { + + required OrientationType type = 1; + optional double t = 2; + optional double roll = 3; + optional double roll_var = 4; + optional double pitch = 5; + optional double pitch_var = 6; + optional double yaw = 7; + optional double yaw_var = 8; + +} diff --git a/protocol_buffers_definitions/structures.proto b/protocol_buffers_definitions/structures.proto new file mode 100644 index 0000000..490c14d --- /dev/null +++ b/protocol_buffers_definitions/structures.proto @@ -0,0 +1,8 @@ +syntax = "proto2"; + +package indoors.proto; + +message NamedValue { + required string name = 1; + required string value = 2; +} diff --git a/recordings/10732.pb b/recordings/10732.pb new file mode 100644 index 0000000..b650ede Binary files /dev/null and b/recordings/10732.pb differ diff --git a/recordings/10740.pb b/recordings/10740.pb new file mode 100644 index 0000000..6e267f0 Binary files /dev/null and b/recordings/10740.pb differ diff --git a/recordings/10742.pb b/recordings/10742.pb new file mode 100644 index 0000000..fc52593 Binary files /dev/null and b/recordings/10742.pb differ