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