Goby v2
desired_course.proto
1 
2 import "dccl/option_extensions.proto";
3 
4 package goby.moos.protobuf;
5 
6 message DesiredCourse
7 {
8  option (dccl.msg).unit_system = "si";
9 
10  required double time = 1 [(dccl.field).units.derived_dimensions = "time"];
11  optional double heading = 2 [default = 0,
12  (dccl.field).units.derived_dimensions = "plane_angle",
13  (dccl.field).units.system = "angle::degree"];
14  optional double speed = 3 [default = 0, (dccl.field).units.derived_dimensions = "length/time"];
15  optional double depth = 4 [default = 0, (dccl.field).units.derived_dimensions = "length"];
16  optional double pitch = 5 [default = 0,
17  (dccl.field).units.derived_dimensions = "plane_angle",
18  (dccl.field).units.system = "angle::degree"];
19 
20  optional double roll = 6 [default = 0,
21  (dccl.field).units.derived_dimensions = "plane_angle",
22  (dccl.field).units.system = "angle::degree"];
23 
24  optional double z_rate = 7 [default = 0, (dccl.field).units.derived_dimensions = "length/time"];
25  optional double altitude = 8 [default = 10, (dccl.field).units.derived_dimensions = "length"];
26 
27  extensions 1000 to max;
28 }