1 // Copyright 2015-2023:
2 // GobySoft, LLC (2013-)
3 // Community contributors (see AUTHORS file)
5 // Toby Schneider <toby@gobysoft.org>
6 // Chris Murphy <cmurphy@aphysci.com>
9 // This file is part of the Dynamic Compact Control Language Library
12 // DCCL is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU Lesser General Public License as published by
14 // the Free Software Foundation, either version 2.1 of the License, or
15 // (at your option) any later version.
17 // DCCL is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
22 // You should have received a copy of the GNU Lesser General Public License
23 // along with DCCL. If not, see <http://www.gnu.org/licenses/>.
25 import "dccl/option_extensions.proto";
36 required double timestamp = 1
37 [(dccl.field) = { codec: "_time" in_head: true }];
38 required int32 source = 2 [(dccl.field) = { min: 0 max: 31 in_head: true }];
39 required int32 destination = 3
40 [(dccl.field) = { min: 0 max: 31 in_head: true }];
43 required double x = 4 [(dccl.field) = {
44 units { system: "si" base_dimensions: "L" }
49 required double y = 5 [(dccl.field) = {
50 units { system: "si" base_dimensions: "L" }
56 required double speed = 6 [(dccl.field) = {
57 units { system: "si" base_dimensions: "LT^-1" }
62 required double heading = 7 [(dccl.field) = {
63 units { system: "angle::degree" derived_dimensions: "plane_angle" }
69 optional double depth = 8 [(dccl.field) = {
70 units { system: "si" base_dimensions: "L" }
75 optional double altitude = 9 [(dccl.field) = {
76 units { system: "si" base_dimensions: "L" }
81 optional double pitch = 10 [(dccl.field) = {
82 units { system: "angle::radian" derived_dimensions: "plane_angle" }
87 optional double roll = 11 [(dccl.field) = {
88 units { system: "angle::radian" derived_dimensions: "plane_angle" }
93 optional MissionState mission_state = 12;
102 optional DepthMode depth_mode = 13;
107 DEPTH_BOTTOM_FOLLOWING = 2;