3 import "dccl/option_extensions.proto";
4 import "goby/middleware/protobuf/frontseat_data.proto";
5 import "jaiabot/messages/option_extensions.proto";
7 package jaiabot.protobuf;
11 SETPOINT_STOP = 0; // no actuator movement - drift
12 SETPOINT_IVP_HELM = 1; // IvPHelm setpoints (helm_course)
13 SETPOINT_REMOTE_CONTROL =
14 2; // fixed heading, speed, etc. for a given duration
15 SETPOINT_DIVE = 3; // Inverse drive control (dive_depth)
16 SETPOINT_POWERED_ASCENT = 4; // Power ascent to surface
21 option (dccl.msg).unit_system = "si";
23 required int32 duration = 1 [
27 units { derived_dimensions: "time" }
29 (jaia.field).rest_api.presence = GUARANTEED
32 optional double heading = 10 [
38 units { derived_dimensions: "plane_angle", system: "angle::degree" }
40 (jaia.field).rest_api.presence = GUARANTEED
42 optional double speed = 11 [
48 units { derived_dimensions: "length/time" }
50 (jaia.field).rest_api.presence = GUARANTEED
54 message DesiredSetpoints
56 option (dccl.msg).unit_system = "si";
58 required SetpointType type = 1;
62 // pHelmIvP control, i.e. SETPOINT_IVP_HELM
63 goby.middleware.frontseat.protobuf.DesiredCourse helm_course = 10;
65 // remote control, i.e. SETPOINT_REMOTE_CONTROL
66 RemoteControl remote_control = 11;
68 // inverse dive control to target depth, i.e. SETPOINT_DIVE
69 double dive_depth = 12
70 [(dccl.field).units = { derived_dimensions: "length" }];
72 // throttle control, i.e. SETPOINT_POWERED_ASCENT
76 optional bool is_helm_constant_course = 2 [default = false];