DCCL v4
navreport.proto
1 // Copyright 2014-2023:
2 // GobySoft, LLC (2013-)
3 // Massachusetts Institute of Technology (2007-2014)
4 // Community contributors (see AUTHORS file)
5 // File authors:
6 // Toby Schneider <toby@gobysoft.org>
7 // Chris Murphy <cmurphy@aphysci.com>
8 //
9 //
10 // This file is part of the Dynamic Compact Control Language Library
11 // ("DCCL").
12 //
13 // DCCL is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU Lesser General Public License as published by
15 // the Free Software Foundation, either version 2.1 of the License, or
16 // (at your option) any later version.
17 //
18 // DCCL is distributed in the hope that it will be useful,
19 // but WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU Lesser General Public License for more details.
22 //
23 // You should have received a copy of the GNU Lesser General Public License
24 // along with DCCL. If not, see <http://www.gnu.org/licenses/>.
25 import "dccl/option_extensions.proto";
26 
27 message NavigationReport
28 {
29  option (dccl.msg) = {
30  codec_version: 4
31  id: 124
32  max_bytes: 32
33  };
34  required double x = 1
35  [(dccl.field) = { min: -10000 max: 10000 precision: 1 }];
36  required double y = 2
37  [(dccl.field) = { min: -10000 max: 10000 precision: 1 }];
38  required double z = 3 [(dccl.field) = { min: -5000 max: 0 precision: 0 }];
39  enum VehicleClass
40  {
41  AUV = 1;
42  USV = 2;
43  SHIP = 3;
44  }
45  optional VehicleClass veh_class = 4;
46  optional bool battery_ok = 5;
47 }