3import "dccl/option_extensions.proto";
4import "goby/middleware/protobuf/frontseat_data.proto";
6package jaiabot.protobuf;
10 SETPOINT_STOP = 0; // no actuator movement - drift
11 SETPOINT_IVP_HELM = 1; // IvPHelm setpoints (helm_course)
12 SETPOINT_REMOTE_CONTROL = 2; // fixed heading, speed, etc. for a given duration
13 SETPOINT_DIVE = 3; // Inverse drive control (dive_depth)
14 SETPOINT_POWERED_ASCENT = 4; // Power ascent to surface
19 option (dccl.msg).unit_system = "si";
21 required int32 duration = 1 [(dccl.field) = {
24 units { derived_dimensions: "time" }
27 optional double heading = 10 [
33 units { derived_dimensions: "plane_angle", system: "angle::degree" }
37 optional double speed = 11 [
43 units { derived_dimensions: "length/time" }
48message DesiredSetpoints
50 option (dccl.msg).unit_system = "si";
52 required SetpointType type = 1;
56 // pHelmIvP control, i.e. SETPOINT_IVP_HELM
57 goby.middleware.frontseat.protobuf.DesiredCourse helm_course = 10;
59 // remote control, i.e. SETPOINT_REMOTE_CONTROL
60 RemoteControl remote_control = 11;
62 // inverse dive control to target depth, i.e. SETPOINT_DIVE
63 double dive_depth = 12
64 [(dccl.field).units = { derived_dimensions: "length" }];
66 // throttle control, i.e. SETPOINT_POWERED_ASCENT
70 optional bool is_helm_constant_course = 2 [default = false];