Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Communications Backbone System
backbone-message-format
Commits
04128aa8
Commit
04128aa8
authored
2 years ago
by
Trishna Saeharaseelan
Browse files
Options
Download
Email Patches
Plain Diff
feat: support binary payload
parent
fc7b4cf3
dev
41-add-optional-operating_area-as-a-wider-zone-outside-region_of_interest
42-add-event-details-and-status-to-acknowledgement-schema
66-tag-current-dev-as-version-1
76-should-depth-and-altitude-be-coordinates
80-add-informational-type-primitive
87-remove-comment-for-platform-status-state
87-remove-todo-comment-from-platform-state
action-refactor-test
ci-js-test
master
missionmonitor
v2.0.0
v2.0.0-beta.11
v2.0.0-beta.10
v2.0.0-beta.9
v2.0.0-beta.8
v2.0.0-beta.7
v2.0.0-beta.6
v2.0.0-beta.5
v2.0.0-beta.4
v2.0.0-beta.3
v2.0.0-beta.2
v2.0.0-beta.1
v1.0.0
v0.2.0
v0.1.0
2 merge requests
!19
feat: support binary payload
,
!16
Resolve "Release v0.1"
Pipeline
#112275
passed with stages
in 1 minute and 11 seconds
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
956 additions
and
691 deletions
+956
-691
examples/autonomy_engine_adapter/mission_plan_encoded.json
examples/autonomy_engine_adapter/mission_plan_encoded.json
+17
-0
examples/autonomy_engine_adapter/observation_encoded.json
examples/autonomy_engine_adapter/observation_encoded.json
+17
-0
examples/autonomy_engine_adapter/platform_status_encoded.json
...ples/autonomy_engine_adapter/platform_status_encoded.json
+17
-0
examples/ecosub_adapter/observation_encoded.json
examples/ecosub_adapter/observation_encoded.json
+17
-0
formats/encoded.py
formats/encoded.py
+45
-0
generate_schema_config.py
generate_schema_config.py
+13
-0
project/soar/swagger.json
project/soar/swagger.json
+830
-691
No files found.
examples/autonomy_engine_adapter/mission_plan_encoded.json
0 → 100644
View file @
04128aa8
{
"header"
:
{
"message_ID"
:
"t1237003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"timestamp"
:
"2023-03-16T00:00:00Z"
,
"version"
:
2
,
"source"
:
"autonomy_engine"
,
"destination"
:
"soar.hermes.autosub.alr-52.send.mission_plan_encoded"
,
"delivery_type"
:
"publish"
,
"encoded"
:
true
},
"payload"
:
{
"message_type"
:
"mission_plan_encoded"
,
"data"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBlB/tRYQW3nez5HWYFBAAD+zwBySUAAAADVek72v1N2lUQAAAABAQAAAAAAAAAAAAAAAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"file_name"
:
"ah1_03837434286438.sbd"
,
"is_binary"
:
true
}
}
This diff is collapsed.
Click to expand it.
examples/autonomy_engine_adapter/observation_encoded.json
0 → 100644
View file @
04128aa8
{
"header"
:
{
"message_ID"
:
"e1237003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"timestamp"
:
"2023-03-16T00:00:00Z"
,
"version"
:
2
,
"source"
:
"hermes.ecosub2"
,
"destination"
:
"soar.planet-ocean.ecosub.ecosub-2.receive.observation_encoded"
,
"delivery_type"
:
"publish"
,
"encoded"
:
true
},
"payload"
:
{
"message_type"
:
"observation_encoded"
,
"data"
:
"T1N2lUQAAAABAQAAAAAAAAAAAAAAAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"file_name"
:
"ecosub1_200002114.txt"
,
"is_binary"
:
true
}
}
This diff is collapsed.
Click to expand it.
examples/autonomy_engine_adapter/platform_status_encoded.json
0 → 100644
View file @
04128aa8
{
"header"
:
{
"message_ID"
:
"t1237003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"timestamp"
:
"2023-03-16T00:00:00Z"
,
"version"
:
2
,
"source"
:
"hermes.ah1"
,
"destination"
:
"soar.noc.autosub.alr-52.receive.platform_status_encoded"
,
"delivery_type"
:
"publish"
,
"encoded"
:
true
},
"payload"
:
{
"message_type"
:
"platform_status_encoded"
,
"data"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBlB/tRYQW3nez5HWYFBAAD+zwBySUAAAADVek72v1N2lUQAAAABAQAAAAAAAAAAAAAAAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"file_name"
:
"ah1_03837434286438.sbd"
,
"is_binary"
:
true
}
}
This diff is collapsed.
Click to expand it.
examples/ecosub_adapter/observation_encoded.json
0 → 100644
View file @
04128aa8
{
"header"
:
{
"message_ID"
:
"e1237003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"timestamp"
:
"2023-03-16T00:00:00Z"
,
"version"
:
2
,
"source"
:
"hermes.ecosub2"
,
"destination"
:
"soar.planet-ocean.ecosub.ecosub-2.receive.observation_encoded"
,
"delivery_type"
:
"publish"
,
"encoded"
:
true
},
"payload"
:
{
"message_type"
:
"observation_encoded"
,
"data"
:
"T1N2lUQAAAABAQAAAAAAAAAAAAAAAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"file_name"
:
"ecosub1_200002114.txt"
,
"is_binary"
:
true
}
}
This diff is collapsed.
Click to expand it.
formats/encoded.py
0 → 100644
View file @
04128aa8
"""
schemas: Encoded (compiled) type messages that are applicable to compiled
platform statuses and observations (from the platform), and compiled
mission plans (to the platform). This encoded schema is applicable to the
different message types: mission_plan_encoded, observation_encoded, and
platform_status_encoded.
"""
encoded_schema
=
{
"type"
:
"object"
,
"properties"
:
{
"message_type"
:
{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"example"
:
"mission_plan"
,
"enum"
:
[
"mission_plan_encoded"
,
"observation_encoded"
,
"platform_status_encoded"
,
],
},
"data"
:
{
"type"
:
"string"
,
"description"
:
"Base64 encoded string"
,
"example"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcB"
+
"AAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
},
"file_name"
:
{
"type"
:
"string"
,
"description"
:
"Name of file"
,
"example"
:
"ah1-0238126349247372.bin"
,
},
"mime_type"
:
{
"type"
:
"string"
,
"description"
:
"MIME type"
,
"example"
:
""
,
# TODO: Add example
},
"is_binary"
:
{
"type"
:
"boolean"
,
"description"
:
"Base64 encrypted binary data"
,
"example"
:
True
,
},
},
"required"
:
[
"data"
,
"is_binary"
],
}
This diff is collapsed.
Click to expand it.
generate_schema_config.py
View file @
04128aa8
from
formats
import
message_header
from
formats
import
message_header
from
formats.encoded
import
encoded_schema
from
formats.mission_plan
import
mission_plan_schema
from
formats.mission_plan
import
mission_plan_schema
from
formats.observation
import
observation_schema
from
formats.observation
import
observation_schema
from
formats.planning_configuration
import
planning_configuration_schema
from
formats.planning_configuration
import
planning_configuration_schema
...
@@ -51,26 +52,38 @@ swagger_config = {
...
@@ -51,26 +52,38 @@ swagger_config = {
"propertyName"
:
"message_type"
,
"propertyName"
:
"message_type"
,
"mapping"
:
{
"mapping"
:
{
"mission_plan"
:
"#/components/schemas/mission_plan"
,
"mission_plan"
:
"#/components/schemas/mission_plan"
,
"mission_plan_encoded"
:
"#/components/schemas/"
+
"mission_plan_encoded"
,
"observation"
:
"#/components/schemas/observation"
,
"observation"
:
"#/components/schemas/observation"
,
"observation_encoded"
:
"#/components/schemas/"
+
"observation_encoded"
,
"planning_configuration"
:
"#/components/schemas/"
"planning_configuration"
:
"#/components/schemas/"
+
"planning_configuration"
,
+
"planning_configuration"
,
"platform_status"
:
"#/components/schemas/platform_status"
,
"platform_status"
:
"#/components/schemas/platform_status"
,
"platform_status_encoded"
:
"#/components/schemas/"
+
"platform_status_encoded"
,
"acknowledgement"
:
"#/components/schemas/acknowledgement"
,
"acknowledgement"
:
"#/components/schemas/acknowledgement"
,
},
},
},
},
"oneOf"
:
[
"oneOf"
:
[
{
"$ref"
:
"#/components/schemas/acknowledgement"
},
{
"$ref"
:
"#/components/schemas/acknowledgement"
},
{
"$ref"
:
"#/components/schemas/mission_plan"
},
{
"$ref"
:
"#/components/schemas/mission_plan"
},
{
"$ref"
:
"#/components/schemas/mission_plan_encoded"
},
{
"$ref"
:
"#/components/schemas/observation"
},
{
"$ref"
:
"#/components/schemas/observation"
},
{
"$ref"
:
"#/components/schemas/observation_encoded"
},
{
"$ref"
:
"#/components/schemas/planning_configuration"
},
{
"$ref"
:
"#/components/schemas/planning_configuration"
},
{
"$ref"
:
"#/components/schemas/platform_status"
},
{
"$ref"
:
"#/components/schemas/platform_status"
},
{
"$ref"
:
"#/components/schemas/platform_status_encoded"
},
],
],
},
},
"header"
:
message_header
,
"header"
:
message_header
,
"mission_plan"
:
mission_plan_schema
,
"mission_plan"
:
mission_plan_schema
,
"mission_plan_encoded"
:
encoded_schema
,
"observation"
:
observation_schema
,
"observation"
:
observation_schema
,
"observation_encoded"
:
encoded_schema
,
"planning_configuration"
:
planning_configuration_schema
,
"planning_configuration"
:
planning_configuration_schema
,
"platform_status"
:
platform_status_schema
,
"platform_status"
:
platform_status_schema
,
"platform_status_encoded"
:
encoded_schema
,
"acknowledgement"
:
acknowledgement_schema
,
"acknowledgement"
:
acknowledgement_schema
,
}
}
},
},
...
...
This diff is collapsed.
Click to expand it.
project/soar/swagger.json
View file @
04128aa8
{
{
"components"
:{
"components"
:{
"schemas"
:{
"schemas"
:{
"MESSAGE"
:{
"MESSAGE"
:{
"description"
:
"Full message definition with message-metadata in `header` and different message type schemas under `payload`"
,
"description"
:
"Full message definition with message-metadata in `header` and different message type schemas under `payload`"
,
"properties"
:{
"properties"
:{
"header"
:{
"header"
:{
"$ref"
:
"#/components/schemas/header"
"$ref"
:
"#/components/schemas/header"
},
},
"payload"
:{
"payload"
:{
"$ref"
:
"#/components/schemas/payload"
"$ref"
:
"#/components/schemas/payload"
}
}
},
},
"required"
:[
"required"
:[
"header"
,
"header"
,
"payload"
"payload"
],
],
"type"
:
"object"
"type"
:
"object"
},
},
"acknowledgement"
:{
"acknowledgement"
:{
"properties"
:{
"properties"
:{
"approved"
:{
"approved"
:{
"description"
:
"Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected"
,
"description"
:
"Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected"
,
"type"
:
"boolean"
"type"
:
"boolean"
},
},
"autonomy_engine_plan_ID"
:{
"autonomy_engine_plan_ID"
:{
"description"
:
"Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
"description"
:
"Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
"example"
:
1
,
"example"
:
1
,
"type"
:
"integer"
"type"
:
"integer"
},
},
"message_type"
:{
"message_type"
:{
"description"
:
"Type of message"
,
"description"
:
"Type of message"
,
"example"
:
"acknowledgement"
,
"enum"
:[
"type"
:
"string"
,
"acknowledgement"
"enum"
:
[
"acknowledgement"
]
],
},
"example"
:
"acknowledgement"
,
"platform_ID"
:{
"type"
:
"string"
"description"
:
"Unique identifier for this platform"
,
},
"example"
:
"reav-x-1"
,
"platform_ID"
:{
"type"
:
"string"
"description"
:
"Unique identifier for this platform"
,
}
"example"
:
"reav-x-1"
,
},
"type"
:
"string"
"required"
:[
}
"message_type"
,
},
"autonomy_engine_plan_ID"
,
"required"
:[
"platform_ID"
,
"message_type"
,
"approved"
"autonomy_engine_plan_ID"
,
],
"platform_ID"
,
"type"
:
"object"
"approved"
},
],
"header"
:{
"type"
:
"object"
"discriminator"
:{
},
"propertyName"
:
"message_type"
"header"
:{
},
"discriminator"
:{
"properties"
:{
"propertyName"
:
"message_type"
"delivery_type"
:{
},
"default"
:
"publish"
,
"properties"
:{
"description"
:
"To publish or broadcast this message."
,
"delivery_type"
:{
"enum"
:[
"default"
:
"publish"
,
"broadcast"
,
"description"
:
"To publish or broadcast this message."
,
"publish"
"enum"
:[
],
"broadcast"
,
"example"
:
"publish"
,
"publish"
"type"
:
"string"
],
},
"example"
:
"publish"
,
"destination"
:{
"type"
:
"string"
"description"
:
"Publisher topic; What is the destination of this message"
,
},
"example"
:
"ah1"
,
"destination"
:{
"type"
:
"string"
"description"
:
"Publisher topic; What is the destination of this message"
,
},
"example"
:
"ah1"
,
"encoded"
:{
"type"
:
"string"
"description"
:
"Indicate that message raw (encoded) or decoded. Options: encoded=True, decoded=False"
,
},
"example"
:
false
,
"encoded"
:{
"type"
:
"boolean"
"description"
:
"Indicate that message raw (encoded) or decoded. Options: encoded=True, decoded=False"
,
},
"example"
:
false
,
"message_ID"
:{
"type"
:
"boolean"
"description"
:
"An identifier for the type of message received."
,
},
"example"
:
"b427003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"message_ID"
:{
"type"
:
"string"
"description"
:
"An identifier for the type of message received."
,
},
"example"
:
"b427003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"source"
:{
"type"
:
"string"
"description"
:
"The sender; Where is this message from"
,
},
"example"
:
"autonomy_engine"
,
"source"
:{
"type"
:
"string"
"description"
:
"The sender; Where is this message from"
,
},
"example"
:
"autonomy_engine"
,
"timestamp"
:{
"type"
:
"string"
"description"
:
"Timestamp of message"
,
},
"example"
:
"2022-11-16T00:00:00Z"
,
"timestamp"
:{
"format"
:
"date-time"
,
"description"
:
"Timestamp of message"
,
"type"
:
"string"
"example"
:
"2022-11-16T00:00:00Z"
,
},
"format"
:
"date-time"
,
"version"
:{
"type"
:
"string"
"description"
:
"Version of comms backbone message format protocol"
,
},
"example"
:
2.0
,
"version"
:{
"format"
:
"float"
,
"description"
:
"Version of comms backbone message format protocol"
,
"type"
:
"number"
"example"
:
2.0
,
}
"format"
:
"float"
,
},
"type"
:
"number"
"type"
:
"object"
}
},
},
"mission_plan"
:{
"type"
:
"object"
"properties"
:{
},
"autonomy_engine_plan_ID"
:{
"mission_plan"
:{
"description"
:
"Unique identifier for this plangenerated by the Autonomy Engine"
,
"properties"
:{
"example"
:
3
,
"autonomy_engine_plan_ID"
:{
"type"
:
"integer"
"description"
:
"Unique identifier for this plangenerated by the Autonomy Engine"
,
},
"example"
:
3
,
"message_type"
:{
"type"
:
"integer"
"description"
:
"Type of message"
,
},
"example"
:
"mission_plan"
,
"message_type"
:{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"enum"
:
[
"mission_plan"
]
"enum"
:[
},
"mission_plan"
"plan"
:{
],
"items"
:{
"example"
:
"mission_plan"
,
"properties"
:{
"type"
:
"string"
"action"
:{
},
"description"
:
"Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`."
,
"plan"
:{
"example"
:
"move"
,
"items"
:{
"type"
:
"string"
"properties"
:{
},
"action"
:{
"activate_payload"
:{
"description"
:
"Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`."
,
"description"
:
"To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`"
,
"example"
:
"move"
,
"example"
:
true
,
"type"
:
"string"
"type"
:
"boolean"
},
},
"activate_payload"
:{
"timeout"
:
{
"description"
:
"To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`"
,
"description"
:
"Timeout set to perform action"
,
"example"
:
true
,
"example"
:
1800.0
,
"type"
:
"boolean"
"format"
:
"float"
,
},
"type"
:
"number"
"altitude"
:{
},
"description"
:
"Altitude of next action"
,
"altitude"
:{
"example"
:
15.0
,
"description"
:
"Altitude of next action"
,
"format"
:
"float"
,
"example"
:
15.0
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"depth"
:{
},
"description"
:
"Depth of next action"
,
"depth"
:{
"example"
:
15.0
,
"description"
:
"Depth of next action"
,
"format"
:
"float"
,
"example"
:
15.0
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"start_point_latitude"
:{
},
"description"
:
"Start point, x-coordinate"
,
"start_point_latitude"
:{
"example"
:
-4.187143188645706
,
"description"
:
"Start point, x-coordinate"
,
"format"
:
"float"
,
"example"
:
-4.187143188645706
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"start_point_longitude"
:{
},
"description"
:
"Start point, y-coordinate"
,
"start_point_longitude"
:{
"example"
:
50.37072283932642
,
"description"
:
"Start point, y-coordinate"
,
"format"
:
"float"
,
"example"
:
50.37072283932642
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"target_waypoint_latitude"
:{
},
"description"
:
"Target waypoint, x-coordinate"
,
"target_waypoint_latitude"
:{
"example"
:
-4.187143188645706
,
"description"
:
"Target waypoint, x-coordinate"
,
"format"
:
"float"
,
"example"
:
-4.187143188645706
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"target_waypoint_longitude"
:{
},
"description"
:
"Target waypoint, y-coordinate"
,
"target_waypoint_longitude"
:{
"example"
:
50.37072283932642
,
"description"
:
"Target waypoint, y-coordinate"
,
"format"
:
"float"
,
"example"
:
50.37072283932642
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"timeout"
:{
}
"description"
:
"Timeout set to perform action"
,
},
"example"
:
1800.0
,
"required"
:[
"format"
:
"float"
,
"target_waypoint_latitude"
,
"type"
:
"number"
"target_waypoint_longitude"
}
],
},
"type"
:
"object"
"required"
:[
},
"target_waypoint_latitude"
,
"type"
:
"array"
"target_waypoint_longitude"
},
],
"platform_ID"
:{
"type"
:
"object"
"description"
:
"Unique identifier for this platform"
,
},
"example"
:
"reav-x-1"
,
"type"
:
"array"
"type"
:
"string"
},
}
"platform_ID"
:{
},
"description"
:
"Unique identifier for this platform"
,
"required"
:[
"example"
:
"reav-x-1"
,
"message_type"
,
"type"
:
"string"
"autonomy_engine_plan_ID"
,
}
"platform_ID"
,
},
"plan"
"required"
:[
],
"message_type"
,
"type"
:
"object"
"autonomy_engine_plan_ID"
,
},
"platform_ID"
,
"observation"
:{
"plan"
"properties"
:{
],
"additional_data"
:{
"type"
:
"object"
"description"
:
"Placeholder field for any additional data"
,
},
"example"
:{
"mission_plan_encoded"
:{
"sensor_payload"
:
false
"properties"
:{
}
"data"
:{
},
"description"
:
"Base64 encoded string"
,
"message_type"
:{
"example"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"description"
:
"Type of message"
,
"type"
:
"string"
"example"
:
"observation"
,
},
"type"
:
"string"
,
"file_name"
:{
"enum"
:
[
"observation"
]
"description"
:
"Name of file"
,
},
"example"
:
"ah1-0238126349247372.bin"
,
"platform_ID"
:{
"type"
:
"string"
"description"
:
"Unique identifier for this platform"
,
},
"example"
:
"reav-x-1"
,
"is_binary"
:{
"type"
:
"string"
"description"
:
"Base64 encrypted binary data"
,
},
"example"
:
true
,
"points_of_interest"
:{
"type"
:
"boolean"
"description"
:
"Points from features of interest identified by platform if any found."
,
},
"items"
:{
"message_type"
:{
"properties"
:{
"description"
:
"Type of message"
,
"latitude"
:{
"enum"
:[
"description"
:
"Identified x-coordinate of point of interest"
,
"mission_plan_encoded"
,
"example"
:
178.2
,
"observation_encoded"
,
"format"
:
"float"
,
"platform_status_encoded"
"type"
:
"number"
],
},
"example"
:
"mission_plan"
,
"longitude"
:{
"type"
:
"string"
"description"
:
"Identified y-coordinate of point of interest"
,
},
"example"
:
-10.122
,
"mime_type"
:{
"format"
:
"float"
,
"description"
:
"MIME type"
,
"type"
:
"number"
"example"
:
""
,
},
"type"
:
"string"
"quality_of_point"
:{
}
"description"
:
"Quality/strength of points from features of interest identified by platform."
,
},
"example"
:
0.98
,
"required"
:[
"format"
:
"float"
,
"data"
,
"type"
:
"number"
"is_binary"
}
],
},
"type"
:
"object"
"required"
:[
},
"latitude"
,
"observation"
:{
"longitude"
"properties"
:{
],
"additional_data"
:{
"type"
:
"object"
"description"
:
"Placeholder field for any additional data"
,
},
"example"
:{
"type"
:
"array"
"sensor_payload"
:
false
},
}
"region_surveyed"
:{
},
"description"
:
"Region surveyed by given platform. GEOJSON"
,
"message_type"
:{
"example"
:
""
,
"description"
:
"Type of message"
,
"nullable"
:
true
"enum"
:[
}
"observation"
},
],
"required"
:[
"example"
:
"observation"
,
"message_type"
,
"type"
:
"string"
"platform_ID"
},
],
"platform_ID"
:{
"type"
:
"object"
"description"
:
"Unique identifier for this platform"
,
},
"example"
:
"reav-x-1"
,
"payload"
:{
"type"
:
"string"
"discriminator"
:{
},
"mapping"
:{
"points_of_interest"
:{
"acknowledgement"
:
"#/components/schemas/acknowledgement"
,
"description"
:
"Points from features of interest identified by platform if any found."
,
"mission_plan"
:
"#/components/schemas/mission_plan"
,
"items"
:{
"observation"
:
"#/components/schemas/observation"
,
"properties"
:{
"planning_configuration"
:
"#/components/schemas/planning_configuration"
,
"latitude"
:{
"platform_status"
:
"#/components/schemas/platform_status"
"description"
:
"Identified x-coordinate of point of interest"
,
},
"example"
:
178.2
,
"propertyName"
:
"message_type"
"format"
:
"float"
,
},
"type"
:
"number"
"oneOf"
:[
},
{
"longitude"
:{
"$ref"
:
"#/components/schemas/acknowledgement"
"description"
:
"Identified y-coordinate of point of interest"
,
},
"example"
:
-10.122
,
{
"format"
:
"float"
,
"$ref"
:
"#/components/schemas/mission_plan"
"type"
:
"number"
},
},
{
"quality_of_point"
:{
"$ref"
:
"#/components/schemas/observation"
"description"
:
"Quality/strength of points from features of interest identified by platform."
,
},
"example"
:
0.98
,
{
"format"
:
"float"
,
"$ref"
:
"#/components/schemas/planning_configuration"
"type"
:
"number"
},
}
{
},
"$ref"
:
"#/components/schemas/platform_status"
"required"
:[
}
"latitude"
,
]
"longitude"
},
],
"planning_configuration"
:{
"type"
:
"object"
"properties"
:{
},
"exclusion_zones"
:{
"type"
:
"array"
"description"
:
"Exclusion zones for all platforms"
,
},
"items"
:{
"region_surveyed"
:{
"description"
:
"Using GEOJSON, exact 4-point region (rectangle shaped)"
,
"description"
:
"Region surveyed by given platform. GEOJSON"
,
"properties"
:{
"example"
:
""
,
"geometry_coordinates"
:{
"nullable"
:
true
"example"
:[
}
[
},
[
"required"
:[
-4.187143188645706
,
"message_type"
,
50.37072283932642
"platform_ID"
],
],
[
"type"
:
"object"
-4.202697005964865
,
},
50.368816892405874
"observation_encoded"
:{
],
"properties"
:{
[
"data"
:{
-4.203156724702808
,
"description"
:
"Base64 encoded string"
,
50.365640144076906
"example"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
],
"type"
:
"string"
[
},
-4.19449868846155
,
"file_name"
:{
50.362267670845654
"description"
:
"Name of file"
,
]
"example"
:
"ah1-0238126349247372.bin"
,
]
"type"
:
"string"
],
},
"type"
:
"array"
"is_binary"
:{
}
"description"
:
"Base64 encrypted binary data"
,
},
"example"
:
true
,
"type"
:
"object"
"type"
:
"boolean"
},
},
"type"
:
"array"
"message_type"
:{
},
"description"
:
"Type of message"
,
"message_type"
:{
"enum"
:[
"description"
:
"Type of message"
,
"mission_plan_encoded"
,
"example"
:
"planning_configuration"
,
"observation_encoded"
,
"type"
:
"string"
,
"platform_status_encoded"
"enum"
:
[
"planning_configuration"
]
],
},
"example"
:
"mission_plan"
,
"planning_config_ID"
:{
"type"
:
"string"
"description"
:
"Unique identifier tagged to version of this configuration plan"
,
},
"example"
:
3
,
"mime_type"
:{
"type"
:
"integer"
"description"
:
"MIME type"
,
},
"example"
:
""
,
"squads"
:{
"type"
:
"string"
"items"
:{
}
"properties"
:{
},
"no_of_platforms"
:{
"required"
:[
"description"
:
"Number of platforms"
,
"data"
,
"example"
:
3
,
"is_binary"
"type"
:
"integer"
],
},
"type"
:
"object"
"platforms"
:{
},
"description"
:
"Squad consists of these platforms"
,
"payload"
:{
"items"
:{
"discriminator"
:{
"properties"
:{
"mapping"
:{
"additional_specs"
:{
"acknowledgement"
:
"#/components/schemas/acknowledgement"
,
"description"
:
"Any addition fields/data to be added here"
,
"mission_plan"
:
"#/components/schemas/mission_plan"
,
"example"
:{
"mission_plan_encoded"
:
"#/components/schemas/mission_plan_encoded"
,
"scan_type"
:
"DVL"
,
"observation"
:
"#/components/schemas/observation"
,
"swath_width"
:
10.0
"observation_encoded"
:
"#/components/schemas/observation_encoded"
,
}
"planning_configuration"
:
"#/components/schemas/planning_configuration"
,
},
"platform_status"
:
"#/components/schemas/platform_status"
,
"emergency"
:{
"platform_status_encoded"
:
"#/components/schemas/platform_status_encoded"
"properties"
:{
},
"additional_data"
:{
"propertyName"
:
"message_type"
"description"
:
"Any addition fields/data to be added here"
,
},
"example"
:{
"oneOf"
:[
{
},
"$ref"
:
"#/components/schemas/acknowledgement"
"type"
:
"object"
},
},
{
"safe_command"
:{
"$ref"
:
"#/components/schemas/mission_plan"
"description"
:
"Command/Action that is native to respective partner's platform/C2"
,
},
"enum"
:[
{
"go_home"
,
"$ref"
:
"#/components/schemas/mission_plan_encoded"
"abort_now"
,
},
"stop_mission"
{
],
"$ref"
:
"#/components/schemas/observation"
"example"
:
"go_home"
,
},
"type"
:
"string"
{
},
"$ref"
:
"#/components/schemas/observation_encoded"
"target_depth"
:{
},
"description"
:
"Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`"
,
{
"example"
:
10.0
,
"$ref"
:
"#/components/schemas/planning_configuration"
"format"
:
"float"
,
},
"type"
:
"number"
{
},
"$ref"
:
"#/components/schemas/platform_status"
"target_waypoint_latitude"
:{
},
"description"
:
"X-coordinate safe place for respective platform"
,
{
"example"
:
-7.432
,
"$ref"
:
"#/components/schemas/platform_status_encoded"
"format"
:
"float"
,
}
"type"
:
"number"
]
},
},
"target_waypoint_longitude"
:{
"planning_configuration"
:{
"description"
:
"Y-coordinate safe place for respective platform"
,
"properties"
:{
"example"
:
50.365
,
"exclusion_zones"
:{
"format"
:
"float"
,
"description"
:
"Exclusion zones for all platforms"
,
"type"
:
"number"
"items"
:{
}
"description"
:
"Using GEOJSON, exact 4-point region (rectangle shaped)"
,
},
"properties"
:{
"required"
:[
"geometry_coordinates"
:{
"target_waypoint_latitude"
,
"example"
:[
"target_waypoint_longitude"
,
[
"target_depth"
[
],
-4.187143188645706
,
"type"
:
"object"
50.37072283932642
},
],
"max_velocity"
:{
[
"description"
:
"Maximum altitude set for squad."
,
-4.202697005964865
,
"example"
:
0.9
,
50.368816892405874
"format"
:
"float"
,
],
"type"
:
"number"
[
},
-4.203156724702808
,
"min_altitude"
:{
50.365640144076906
"description"
:
"Minimum altitude set for squad."
,
],
"example"
:
15.2
,
[
"format"
:
"float"
,
-4.19449868846155
,
"type"
:
"number"
50.362267670845654
},
]
"min_velocity"
:{
]
"description"
:
"Minimum velocity set for squad."
,
],
"example"
:
0.1
,
"type"
:
"array"
"format"
:
"float"
,
}
"type"
:
"number"
},
},
"type"
:
"object"
"model"
:{
},
"example"
:
"reav"
,
"type"
:
"array"
"type"
:
"string"
},
},
"message_type"
:{
"platform_ID"
:{
"description"
:
"Type of message"
,
"description"
:
"Unique identifier for this platform"
,
"enum"
:[
"example"
:
"reav-x-1"
,
"planning_configuration"
"type"
:
"string"
],
}
"example"
:
"planning_configuration"
,
},
"type"
:
"string"
"required"
:[
},
"platform_ID"
,
"planning_config_ID"
:{
"model"
,
"description"
:
"Unique identifier tagged to version of this configuration plan"
,
"emergency"
,
"example"
:
3
,
"min_altitude"
,
"type"
:
"integer"
"min_velocity"
,
},
"max_velocity"
"squads"
:{
],
"items"
:{
"type"
:
"object"
"properties"
:{
},
"no_of_platforms"
:{
"type"
:
"array"
"description"
:
"Number of platforms"
,
},
"example"
:
3
,
"region_of_interest"
:{
"type"
:
"integer"
"description"
:
"Using GEOJSON, exact 4-point region (rectangle shaped)"
,
},
"properties"
:{
"platforms"
:{
"geometry_coordinates"
:{
"description"
:
"Squad consists of these platforms"
,
"example"
:[
"items"
:{
[
"properties"
:{
[
"additional_specs"
:{
-4.187143188645706
,
"description"
:
"Any addition fields/data to be added here"
,
50.37072283932642
"example"
:{
],
"scan_type"
:
"DVL"
,
[
"swath_width"
:
10.0
-4.202697005964865
,
},
50.368816892405874
"type"
:
"object"
],
},
[
"emergency"
:{
-4.203156724702808
,
"properties"
:{
50.365640144076906
"additional_data"
:{
],
"description"
:
"Any addition fields/data to be added here"
,
[
"example"
:{
-4.19449868846155
,
50.362267670845654
}
]
},
]
"safe_command"
:{
],
"description"
:
"Command/Action that is native to respective partner's platform/C2"
,
"type"
:
"array"
"enum"
:[
}
"go_home"
,
},
"abort_now"
,
"type"
:
"object"
"stop_mission"
},
],
"squad_ID"
:{
"example"
:
"go_home"
,
"description"
:
"Identifier of given squad"
,
"type"
:
"string"
"example"
:
23
,
},
"type"
:
"integer"
"target_depth"
:{
},
"description"
:
"Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`"
,
"squad_mission_type"
:{
"example"
:
10.0
,
"description"
:
"Mission of given squad: `tracking`, `survey`, `inspection`"
,
"format"
:
"float"
,
"enum"
:[
"type"
:
"number"
"tracking"
,
},
"survey"
,
"target_waypoint_latitude"
:{
"inspection"
"description"
:
"X-coordinate safe place for respective platform"
,
],
"example"
:
-7.432
,
"example"
:
"survey"
,
"format"
:
"float"
,
"type"
:
"string"
"type"
:
"number"
},
},
"squad_state"
:{
"target_waypoint_longitude"
:{
"description"
:
"In execution, Waiting.. <define further>"
,
"description"
:
"Y-coordinate safe place for respective platform"
,
"example"
:
false
,
"example"
:
50.365
,
"type"
:
"string"
"format"
:
"float"
,
}
"type"
:
"number"
},
}
"required"
:[
},
"squad_ID"
,
"required"
:[
"no_of_platforms"
,
"target_waypoint_latitude"
,
"platforms"
,
"target_waypoint_longitude"
,
"squad_mission_type"
,
"target_depth"
"squad_state"
],
],
"type"
:
"object"
"type"
:
"object"
},
},
"max_velocity"
:{
"type"
:
"array"
"description"
:
"Maximum altitude set for squad."
,
}
"example"
:
0.9
,
},
"format"
:
"float"
,
"required"
:[
"type"
:
"number"
"message_type"
,
},
"planning_config_ID"
,
"min_altitude"
:{
"squads"
,
"description"
:
"Minimum altitude set for squad."
,
"exclusion_zones"
"example"
:
15.2
,
],
"format"
:
"float"
,
"type"
:
"object"
"type"
:
"number"
},
},
"platform_status"
:{
"min_velocity"
:{
"properties"
:{
"description"
:
"Minimum velocity set for squad."
,
"altitude"
:{
"example"
:
0.1
,
"description"
:
"Target altitude in metres"
,
"format"
:
"float"
,
"example"
:
20.0
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"model"
:{
},
"example"
:
"reav"
,
"autonomy_engine_plan_ID"
:{
"type"
:
"string"
"description"
:
"Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
},
"example"
:
1
,
"platform_ID"
:{
"type"
:
"integer"
"description"
:
"Unique identifier for this platform"
,
},
"example"
:
"reav-x-1"
,
"battery_remaining_capacity"
:{
"type"
:
"string"
"description"
:
"Battery remaining % provided by respective C2"
,
}
"example"
:
80.2
,
},
"format"
:
"float"
,
"required"
:[
"type"
:
"number"
"platform_ID"
,
},
"model"
,
"depth"
:{
"emergency"
,
"default"
:
0.0
,
"min_altitude"
,
"description"
:
"Target depth in metres"
,
"min_velocity"
,
"example"
:
50.0
,
"max_velocity"
"format"
:
"float"
,
],
"type"
:
"number"
"type"
:
"object"
},
},
"heading"
:{
"type"
:
"array"
"description"
:
"Angular distance relative to north, usually 000
\u
00b0 at north, clockwise through 359
\u
00b0, in degrees"
,
},
"example"
:
124.3
,
"region_of_interest"
:{
"format"
:
"float"
,
"description"
:
"Using GEOJSON, exact 4-point region (rectangle shaped)"
,
"type"
:
"number"
"properties"
:{
},
"geometry_coordinates"
:{
"health_status"
:{
"example"
:[
"description"
:
"Health status where 0 is OK, 1 is platform has an ERROR"
,
[
"example"
:
false
,
[
"type"
:
"boolean"
-4.187143188645706
,
},
50.37072283932642
"latitude"
:{
],
"description"
:
"Latitude in decimal degrees."
,
[
"example"
:
178.2
,
-4.202697005964865
,
"format"
:
"float"
,
50.368816892405874
"type"
:
"number"
],
},
[
"localisation_east_error"
:{
-4.203156724702808
,
"description"
:
"Difference in EAST between deadreckoningand USBL update."
,
50.365640144076906
"example"
:
0.000129
,
],
"format"
:
"float"
,
[
"type"
:
"number"
-4.19449868846155
,
},
50.362267670845654
"localisation_north_error"
:{
]
"description"
:
"Difference in NORTH between deadreckoning and USBL update."
,
]
"example"
:
0.000129
,
],
"format"
:
"float"
,
"type"
:
"array"
"type"
:
"number"
}
},
},
"longitude"
:{
"type"
:
"object"
"description"
:
"Longitude in decimal degrees."
,
},
"example"
:
-10.122
,
"squad_ID"
:{
"format"
:
"float"
,
"description"
:
"Identifier of given squad"
,
"type"
:
"number"
"example"
:
23
,
},
"type"
:
"integer"
"message_type"
:{
},
"description"
:
"Type of message"
,
"squad_mission_type"
:{
"example"
:
"platform_status"
,
"description"
:
"Mission of given squad: `tracking`, `survey`, `inspection`"
,
"type"
:
"string"
,
"enum"
:[
"enum"
:
[
"platform_status"
]
"tracking"
,
},
"survey"
,
"mission_plan_ID"
:{
"inspection"
"description"
:
"Mission plan ID according to platform-C2 system"
,
],
"example"
:
1
,
"example"
:
"survey"
,
"type"
:
"integer"
"type"
:
"string"
},
},
"mission_track_ID"
:{
"squad_state"
:{
"description"
:
"Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)"
,
"description"
:
"In execution, Waiting.. <define further>"
,
"example"
:
4
,
"example"
:
false
,
"type"
:
"integer"
"type"
:
"string"
},
}
"platform_ID"
:{
},
"description"
:
"Unique identifier for this platform"
,
"required"
:[
"example"
:
"reav-x-1"
,
"squad_ID"
,
"type"
:
"string"
"no_of_platforms"
,
},
"platforms"
,
"platform_state"
:{
"squad_mission_type"
,
"description"
:
"Current state executed by platform. E.g. STOP, IDLE, ABORT."
,
"squad_state"
"example"
:
"ABORT"
,
],
"type"
:
"string"
"type"
:
"object"
},
},
"platform_timestamp"
:{
"type"
:
"array"
"description"
:
"Timestamp for onboard platform status message"
,
}
"example"
:
"2022-12-21T00:00:00Z"
,
},
"format"
:
"date-time"
,
"required"
:[
"type"
:
"string"
"message_type"
,
},
"planning_config_ID"
,
"range_to_go"
:{
"squads"
,
"description"
:
"Estimated distance to reach next waypoint"
,
"exclusion_zones"
"example"
:
124.3
,
],
"format"
:
"float"
,
"type"
:
"object"
"type"
:
"number"
},
},
"platform_status"
:{
"sensor_config"
:{
"properties"
:{
"description"
:
"Scanning sensor on platform available to be controlled by the Autonomy Engine"
,
"altitude"
:{
"properties"
:{
"description"
:
"Target altitude in metres"
,
"additional_data"
:{
"example"
:
20.0
,
"description"
:
"Any addition fields/data to be added here"
,
"format"
:
"float"
,
"example"
:{
"type"
:
"number"
"payload"
:[
},
1.2
,
"autonomy_engine_plan_ID"
:{
434
"description"
:
"Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
]
"example"
:
1
,
},
"type"
:
"integer"
"type"
:
"object"
},
},
"battery_remaining_capacity"
:{
"sensor_on"
:{
"description"
:
"Battery remaining % provided by respective C2"
,
"description"
:
"Sensor switched on (True) or off (False)"
,
"example"
:
80.2
,
"example"
:
true
,
"format"
:
"float"
,
"type"
:
"boolean"
"type"
:
"number"
},
},
"sensor_serial"
:{
"depth"
:{
"description"
:
"serial number of sensor"
,
"default"
:
0.0
,
"example"
:
"mbes-002a"
,
"description"
:
"Target depth in metres"
,
"type"
:
"string"
"example"
:
50.0
,
}
"format"
:
"float"
,
},
"type"
:
"number"
"type"
:
"object"
},
},
"heading"
:{
"speed_over_ground"
:{
"description"
:
"Angular distance relative to north, usually 000
\u
00b0 at north, clockwise through 359
\u
00b0, in degrees"
,
"description"
:
"Speed over ground"
,
"example"
:
124.3
,
"example"
:
124.3
,
"format"
:
"float"
,
"format"
:
"float"
,
"type"
:
"number"
"type"
:
"number"
},
},
"health_status"
:{
"status_source"
:{
"description"
:
"Health status where 0 is OK, 1 is platform has an ERROR"
,
"description"
:
"Indicate if this status message is from the platform or USBL"
,
"example"
:
false
,
"enum"
:[
"type"
:
"boolean"
"usbl"
,
},
"onboard_platform"
"latitude"
:{
],
"description"
:
"Latitude in decimal degrees."
,
"example"
:
"usbl"
,
"example"
:
178.2
,
"type"
:
"string"
"format"
:
"float"
,
},
"type"
:
"number"
"thrust_applied"
:{
},
"description"
:
"Thrust applied"
,
"localisation_east_error"
:{
"example"
:
124.3
,
"description"
:
"Difference in EAST between deadreckoningand USBL update."
,
"format"
:
"float"
,
"example"
:
0.000129
,
"type"
:
"number"
"format"
:
"float"
,
},
"type"
:
"number"
"transmission_mode"
:{
},
"description"
:
"Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)"
,
"localisation_north_error"
:{
"enum"
:[
"description"
:
"Difference in NORTH between deadreckoning and USBL update."
,
"acoustics"
,
"example"
:
0.000129
,
"iridium"
,
"format"
:
"float"
,
"wifi"
,
"type"
:
"number"
"starlink"
},
],
"longitude"
:{
"example"
:
"wifi"
,
"description"
:
"Longitude in decimal degrees."
,
"type"
:
"string"
"example"
:
-10.122
,
},
"format"
:
"float"
,
"usbl_fix_seconds_ago"
:{
"type"
:
"number"
"description"
:
"USBL Fix received x second ago."
,
},
"example"
:
10.0
,
"message_type"
:{
"format"
:
"float"
,
"description"
:
"Type of message"
,
"type"
:
"number"
"enum"
:[
},
"platform_status"
"water_current_velocity"
:{
],
"description"
:
"Water current magnitude and direction"
,
"example"
:
"platform_status"
,
"example"
:
"124.3NE"
,
"type"
:
"string"
"type"
:
"string"
},
}
"mission_plan_ID"
:{
},
"description"
:
"Mission plan ID according to platform-C2 system"
,
"required"
:[
"example"
:
1
,
"message_type"
,
"type"
:
"integer"
"platform_ID"
,
},
"status_source"
,
"mission_track_ID"
:{
"platform_timestamp"
,
"description"
:
"Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)"
,
"latitude"
,
"example"
:
4
,
"longitude"
"type"
:
"integer"
],
},
"type"
:
"object"
"platform_ID"
:{
}
"description"
:
"Unique identifier for this platform"
,
}
"example"
:
"reav-x-1"
,
},
"type"
:
"string"
"info"
:{
},
"description"
:
"SoAR message protocol in schemas"
,
"platform_state"
:{
"title"
:
"SoAR Backbone Message Formats"
,
"description"
:
"Current state executed by platform. E.g. STOP, IDLE, ABORT."
,
"version"
:
"1.0"
"example"
:
"ABORT"
,
},
"type"
:
"string"
"openapi"
:
"3.0.2"
,
},
"paths"
:{
"platform_timestamp"
:{
"description"
:
"Timestamp for onboard platform status message"
,
}
"example"
:
"2022-12-21T00:00:00Z"
,
"format"
:
"date-time"
,
"type"
:
"string"
},
"range_to_go"
:{
"description"
:
"Estimated distance to reach next waypoint"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"sensor_config"
:{
"description"
:
"Scanning sensor on platform available to be controlled by the Autonomy Engine"
,
"properties"
:{
"additional_data"
:{
"description"
:
"Any addition fields/data to be added here"
,
"example"
:{
"payload"
:[
1.2
,
434
]
},
"type"
:
"object"
},
"sensor_on"
:{
"description"
:
"Sensor switched on (True) or off (False)"
,
"example"
:
true
,
"type"
:
"boolean"
},
"sensor_serial"
:{
"description"
:
"serial number of sensor"
,
"example"
:
"mbes-002a"
,
"type"
:
"string"
}
},
"type"
:
"object"
},
"speed_over_ground"
:{
"description"
:
"Speed over ground"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"status_source"
:{
"description"
:
"Indicate if this status message is from the platform or USBL"
,
"enum"
:[
"usbl"
,
"onboard_platform"
],
"example"
:
"usbl"
,
"type"
:
"string"
},
"thrust_applied"
:{
"description"
:
"Thrust applied"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"transmission_mode"
:{
"description"
:
"Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)"
,
"enum"
:[
"acoustics"
,
"iridium"
,
"wifi"
,
"starlink"
],
"example"
:
"wifi"
,
"type"
:
"string"
},
"usbl_fix_seconds_ago"
:{
"description"
:
"USBL Fix received x second ago."
,
"example"
:
10.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"water_current_velocity"
:{
"description"
:
"Water current magnitude and direction"
,
"example"
:
"124.3NE"
,
"type"
:
"string"
}
},
"required"
:[
"message_type"
,
"platform_ID"
,
"status_source"
,
"platform_timestamp"
,
"latitude"
,
"longitude"
],
"type"
:
"object"
},
"platform_status_encoded"
:{
"properties"
:{
"data"
:{
"description"
:
"Base64 encoded string"
,
"example"
:
"SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg=="
,
"type"
:
"string"
},
"file_name"
:{
"description"
:
"Name of file"
,
"example"
:
"ah1-0238126349247372.bin"
,
"type"
:
"string"
},
"is_binary"
:{
"description"
:
"Base64 encrypted binary data"
,
"example"
:
true
,
"type"
:
"boolean"
},
"message_type"
:{
"description"
:
"Type of message"
,
"enum"
:[
"mission_plan_encoded"
,
"observation_encoded"
,
"platform_status_encoded"
],
"example"
:
"mission_plan"
,
"type"
:
"string"
},
"mime_type"
:{
"description"
:
"MIME type"
,
"example"
:
""
,
"type"
:
"string"
}
},
"required"
:[
"data"
,
"is_binary"
],
"type"
:
"object"
}
}
},
"info"
:{
"description"
:
"SoAR message protocol in schemas"
,
"title"
:
"SoAR Backbone Message Formats"
,
"version"
:
"1.0"
},
"openapi"
:
"3.0.2"
,
"paths"
:{
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment