Goby v2
bluefin.proto
1 
2 import "goby/moos/protobuf/frontseat.proto";
3 
4 import "goby/acomms/protobuf/modem_message.proto";
5 
6 package goby.moos.protobuf;
7 
8 message BuoyancyStatus
9 {
10  enum Status
11  {
12  BUOYANCY_IDLE = 0;
13  BUOYANCY_IN_PROGRESS = 1;
14  BUOYANCY_COMPLETED_SUCCESSFULLY = 2;
15  BUOYANCY_COMPLETED_UNSUCCESSFULLY = 3;
16  }
17 
18  optional Status status = 1 [default = BUOYANCY_IDLE];
19 
20  enum Error
21  {
22  ERROR_NONE = 0;
23  ERROR_BUOYANCY_OPERATION_FAILED = 1;
24  ERROR_OPERATION_CANCELLED = 2;
25  ERROR_ZERO_FLOW = 3;
26  }
27 
28  optional Error error = 2 [default = ERROR_NONE];
29  optional string debug_string = 3;
30  optional double buoyancy_newtons = 4;
31 }
32 
33 message TrimStatus
34 {
35  enum Status
36  {
37  TRIM_IDLE = 0;
38  TRIM_IN_PROGRESS = 1;
39  TRIM_COMPLETED_SUCCESSFULLY = 2;
40  TRIM_COMPLETED_UNSUCCESSFULLY = 3;
41  }
42 
43  optional Status status = 1 [default = TRIM_IDLE];
44 
45  enum Error
46  {
47  ERROR_NONE = 0;
48  ERROR_TRIM_OPERATION_FAILED = 1;
49  ERROR_CANNOT_TRIM_WHILE_SILENT = 2;
50  }
51 
52  optional Error error = 2 [default = ERROR_NONE];
53  optional string debug_string = 3;
54  optional double pitch_trim_degrees = 4;
55  optional double roll_trim_degrees = 5;
56 }
57 
58 message BluefinExtraData
59 {
60  optional goby.acomms.protobuf.ModemRaw micro_modem_raw_out = 1;
61  optional goby.acomms.protobuf.ModemRaw micro_modem_raw_in = 2;
62  optional BuoyancyStatus buoyancy_status = 10;
63  optional TrimStatus trim_status = 20;
64 
65  message PayloadStatus
66  {
67  required int32 id = 1;
68  required uint64 expire_time = 2;
69  required string msg = 3;
70  required bool all_ok = 4;
71  };
72 
73  repeated PayloadStatus payload_status = 30;
74 }
75 
76 extend FrontSeatInterfaceData
77 {
78  optional BluefinExtraData bluefin_data = 1000;
79 }
80 
81 message BluefinExtraCommands
82 {
83  enum BluefinCommand
84  {
85  UNKNOWN_COMMAND = 0;
86  DESIRED_COURSE = 1;
87  TRIM_ADJUST = 3;
88  BUOYANCY_ADJUST = 4;
89  SILENT_MODE = 5;
90  CANCEL_CURRENT_BEHAVIOR = 6;
91  ABORT_MISSION = 7;
92  MISSION_START_CONFIRM = 8;
93  MISSION_END_CONFIRM = 9;
94  }
95  optional BluefinCommand command = 1 [default = UNKNOWN_COMMAND];
96 
97  enum SilentMode
98  {
99  NORMAL = 0;
100  SILENT = 1;
101  }
102  optional SilentMode silent_mode = 10 [default = NORMAL];
103 
104  enum AbortReason
105  {
106  SUCCESSFUL_MISSION = 0;
107  ABORT_WITH_ERRORS = 1;
108  }
109 
110  optional AbortReason abort_reason = 11 [default = ABORT_WITH_ERRORS];
111 
112  enum StartConfirm
113  {
114  SUCCESS = 1;
115  FAIL = 0;
116  }
117  optional StartConfirm start_confirm = 12 [default = SUCCESS];
118 }
119 
120 extend CommandRequest
121 {
122  optional BluefinExtraCommands bluefin_command = 1000;
123 }