Goby v2
frontseat.proto
1 
2 import "goby/moos/protobuf/desired_course.proto";
3 import "goby/moos/protobuf/ctd_sample.proto";
4 import "goby/moos/protobuf/node_status.proto";
5 
6 package goby.moos.protobuf;
7 
8 enum InterfaceState
9 {
10  INTERFACE_STANDBY = 1;
11  INTERFACE_LISTEN = 2;
12  INTERFACE_COMMAND = 3;
13  INTERFACE_HELM_ERROR = 4;
14  INTERFACE_FS_ERROR = 5;
15 }
16 
17 enum FrontSeatState
18 {
19  FRONTSEAT_NOT_CONNECTED = 0;
20  FRONTSEAT_IDLE = 1;
21  FRONTSEAT_ACCEPTING_COMMANDS = 2;
22  FRONTSEAT_IN_CONTROL = 3;
23 }
24 
25 enum HelmState
26 {
27  HELM_NOT_RUNNING = 0;
28  HELM_DRIVE = 1;
29  HELM_PARK = 2;
30 }
31 
32 enum HelmError
33 {
34  ERROR_HELM_NONE = 0;
35  ERROR_HELM_NOT_RUNNING = 1;
36  ERROR_HELM_PARKED = 2;
37 }
38 
39 enum FrontSeatError
40 {
41  ERROR_FRONTSEAT_NONE = 0;
42  ERROR_FRONTSEAT_NOT_CONNECTED = 1;
43  ERROR_FRONTSEAT_NOT_PROVIDING_DATA = 2;
44  ERROR_FRONTSEAT_IGNORING_COMMANDS = 3;
45 }
46 
47 message FrontSeatInterfaceStatus
48 {
49  optional InterfaceState state = 1;
50  optional FrontSeatState frontseat_state = 2;
51  optional HelmState helm_state = 3;
52  optional HelmError helm_error = 4;
53  optional FrontSeatError frontseat_error = 5;
54 }
55 
56 message CommandRequest
57 {
58  optional DesiredCourse desired_course = 1;
59  optional bool response_requested = 10 [default = false];
60  optional int32 request_id = 11;
61 
62  optional int32 cancel_request_id =
63  20; // if possible, tell the driver to
64  // stop trying to process this command
65 
66  extensions 1000 to max;
67  // 1000 - Bluefin
68  // 1001 - Iver
69 }
70 
71 message CommandResponse
72 {
73  optional bool request_successful = 10;
74  optional int32 request_id = 11;
75  optional int32 error_code = 20 [default = 0];
76  optional string error_string = 21;
77 
78  extensions 1000 to max;
79 }
80 
81 message FrontSeatInterfaceData
82 {
83  optional NodeStatus node_status = 1;
84  optional CTDSample ctd_sample = 2;
85  optional bytes dccl_message = 3;
86 
87  extensions 1000 to max;
88  // 1001 - Iver
89 }
90 
91 message FrontSeatRaw
92 {
93  optional bytes raw = 1;
94  enum RawType
95  {
96  RAW_ASCII = 1;
97  RAW_BINARY = 2;
98  }
99  optional RawType type = 2 [default = RAW_ASCII];
100  optional string description = 3;
101 }