2 import "goby/moos/protobuf/goby_moos_app.proto";
3 import "goby/common/protobuf/option_extensions.proto";
5 message iFrontSeatConfig
7 optional GobyMOOSAppConfig common = 1;
9 optional bool require_helm = 10 [
11 (goby.field).description =
12 "Require the IvP Helm even for listening mission where the "
17 optional double helm_running_timeout = 11 [
19 (goby.field).description =
20 "If `require_helm`, how long (in seconds) to wait for the IvP Helm "
22 "start before moving to the Helm Error state."
25 optional double frontseat_connected_timeout = 12 [
27 (goby.field).description =
28 "How long (in seconds) to wait for the Frontseat to be connected "
29 "before moving to the Frontseat Error state."
32 optional uint32 status_period = 13 [
34 (goby.field).description =
35 "Seconds between publishing the status of iFrontseat. The special "
36 "value 0 disables posting of the status message."
39 optional uint32 modem_id = 14 [
40 (goby.field).moos_global = "modem_id",
41 (goby.field).description = "Acoustic modem identification number"
46 optional string prefix = 1 [
48 (goby.field).description =
49 "Prefix all MOOS variable names with this string"
52 optional string raw_out = 10 [default = "RAW_OUT"];
53 optional string raw_in = 11 [default = "RAW_IN"];
55 optional string command_request = 12 [default = "COMMAND_REQUEST"];
56 optional string command_response = 13 [default = "COMMAND_RESPONSE"];
58 optional string data_from_frontseat = 14 [default = "DATA_IN"];
59 optional string data_to_frontseat = 15 [default = "DATA_OUT"];
61 optional string status = 16 [default = "STATUS"];
63 optional string node_status = 17 [default = "NODE_STATUS"];
65 optional MOOSVariables moos_var = 20;
67 optional bool exit_on_error = 21 [
69 (goby.field).description =
70 "If true, exit the application if it enters one of the error "
74 message LegacyOperations
76 optional bool subscribe_desired = 1 [
78 (goby.field).description =
79 "Convert the IvP Helm DESIRED_HEADING, DESIRED_SPEED, "
81 "variables into a CommandRequest::desired_course message."
84 optional bool subscribe_ctd = 2 [
86 (goby.field).description =
87 "Convert the individual CTD_CONDUCTIVITY, CTD_TEMPERATURE, "
88 "CTD_PRESSURE, CTD_SALINITY variables into a "
89 "FrontSeatInterfaceData::ctd_sample message."
92 optional bool subscribe_acomms_raw = 3 [
94 (goby.field).description =
95 "Convert the individual ACOMMS_RAW_INCOMING, "
96 "ACOMMS_RAW_OUTGOING "
97 "variables into a FrontSeatInterfaceData message with "
99 "BluefinExtraData::micro_modem_raw_out and "
100 "BluefinExtraData::micro_mdoem_raw_in set."
103 optional bool pub_sub_bf_commands = 4 [
105 (goby.field).description =
106 "Convert all of the following MOOS variables into "
108 "enumerations of the BluefinExtraCommands extension of the "
109 "CommandRequest message: BUOYANCY_CONTROL to "
110 "BluefinExtraCommands::BUOYANCY_ADJUST, TRIM_CONTROL to "
111 "BluefinExtraCommands::TRIM_ADJUST, FRONTSEAT_BHVOFF to "
112 "BluefinExtraCommands::CANCEL_CURRENT_BEHAVIOR, "
113 "FRONTSEAT_SILENT to "
114 "BluefinExtraCommands::SILENT_MODE, BACKSEAT_ABORT to "
115 "BluefinExtraCommands::ABORT_MISSION. Also, use the MOOS "
117 "PENDING_SURFACE to trigger the "
118 "BluefinExtraCommands::GPS_REQUEST."
121 optional bool publish_nav = 12 [
123 (goby.field).description =
124 "Publish NAV_X, NAV_Y, NAV_LAT, NAV_LONG, NAV_Z, NAV_DEPTH, "
126 "NAV_HEADING, NAV_SPEED, NAV_PITCH, NAV_ROLL and NAV_ALTITUDE "
128 "the NodeStatus message within FrontSeatInterfaceData"
131 optional bool publish_fs_bs_ready = 11 [
133 (goby.field).description =
134 "Publish the MOOS variable FRONTSEAT_READY=1 when the "
136 "state is FRONTSEAT_ACCEPTING_COMMANDS, and FRONTSEAT_READY=0 "
137 "otherwise. Publish BACKSEAT_READY=1 when the helm state is "
138 "HELM_DRIVE, and BACKSEAT_READY=0 otherwise."
142 optional LegacyOperations legacy_cfg = 30 [
143 (goby.field).description =
144 "Numerous options to automatically convert legacy variables (e.g., "
145 "from iHuxley) into the iFrontSeat messages. Generally new "
147 "will not use any of these options and thus this configuration "
148 "block can be omitted."
155 extensions 1000 to max;