2 import "dccl/option_extensions.proto";
4 import "goby/middleware/protobuf/frontseat.proto";
5 import "goby/acomms/protobuf/modem_message.proto";
7 package goby.middleware.frontseat.protobuf;
14 BUOYANCY_IN_PROGRESS = 1;
15 BUOYANCY_COMPLETED_SUCCESSFULLY = 2;
16 BUOYANCY_COMPLETED_UNSUCCESSFULLY = 3;
19 optional Status status = 1 [default = BUOYANCY_IDLE];
24 ERROR_BUOYANCY_OPERATION_FAILED = 1;
25 ERROR_OPERATION_CANCELLED = 2;
29 optional Error error = 2 [default = ERROR_NONE];
30 optional string debug_string = 3;
31 optional double buoyancy_newtons = 4;
40 TRIM_COMPLETED_SUCCESSFULLY = 2;
41 TRIM_COMPLETED_UNSUCCESSFULLY = 3;
44 optional Status status = 1 [default = TRIM_IDLE];
49 ERROR_TRIM_OPERATION_FAILED = 1;
50 ERROR_CANNOT_TRIM_WHILE_SILENT = 2;
53 optional Error error = 2 [default = ERROR_NONE];
54 optional string debug_string = 3;
55 optional double pitch_trim_degrees = 4;
56 optional double roll_trim_degrees = 5;
59 message BluefinExtraData
61 option (dccl.msg).unit_system = "si";
63 optional goby.acomms.protobuf.ModemRaw micro_modem_raw_out = 1;
64 optional goby.acomms.protobuf.ModemRaw micro_modem_raw_in = 2;
65 optional BuoyancyStatus buoyancy_status = 10;
66 optional TrimStatus trim_status = 20;
70 required int32 id = 1;
71 required uint64 expire_time = 2
72 [(dccl.field).units = {prefix: "micro" base_dimensions: "T"}];
73 required string msg = 3;
74 required bool all_ok = 4;
77 repeated PayloadStatus payload_status = 30;
81 option (dccl.msg).unit_system = "si";
82 optional double dvl_time = 1
83 [(dccl.field).units.derived_dimensions = "time"];
84 optional double u = 2 [(dccl.field).units.derived_dimensions =
85 "velocity"]; // positive forward
86 optional double v = 3 [(dccl.field).units.derived_dimensions =
87 "velocity"]; // positive starboard
88 optional double w = 4 [(dccl.field).units.derived_dimensions =
89 "velocity"]; // positive down
91 optional double beam1_range = 5
92 [(dccl.field).units.derived_dimensions = "length"];
93 optional double beam2_range = 6
94 [(dccl.field).units.derived_dimensions = "length"];
95 optional double beam3_range = 7
96 [(dccl.field).units.derived_dimensions = "length"];
97 optional double beam4_range = 8
98 [(dccl.field).units.derived_dimensions = "length"];
100 optional double temperature = 9 [(dccl.field).units = {
102 derived_dimensions: "temperature"
106 optional RawDVL dvl = 40;
108 message RawThrusterRotation
110 required double rotation = 1 [(dccl.field).units = {
111 system: "goby::util::units::rpm::system"
112 derived_dimensions: "angular_velocity"
114 optional double speed_from_lookup_table = 2
115 [(dccl.field).units.derived_dimensions = "velocity"];
118 optional RawThrusterRotation thruster = 50;
123 optional BluefinExtraData bluefin_data = 1000;
126 message BluefinExtraCommands
135 CANCEL_CURRENT_BEHAVIOR = 6;
137 MISSION_START_CONFIRM = 8;
138 MISSION_END_CONFIRM = 9;
140 optional BluefinCommand command = 1 [default = UNKNOWN_COMMAND];
147 optional SilentMode silent_mode = 10 [default = NORMAL];
151 SUCCESSFUL_MISSION = 0;
152 ABORT_WITH_ERRORS = 1;
155 optional AbortReason abort_reason = 11 [default = ABORT_WITH_ERRORS];
162 optional StartConfirm start_confirm = 12 [default = SUCCESS];
165 extend CommandRequest
167 optional BluefinExtraCommands bluefin_command = 1000;