Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
bluefin_config.proto
Go to the documentation of this file.
1syntax = "proto2";
2import "dccl/option_extensions.proto";
3
4import "goby/middleware/protobuf/frontseat_config.proto";
5import "goby/protobuf/option_extensions.proto";
6
7package goby.middleware.frontseat.protobuf;
8
9message BluefinConfig
10{
11 option (dccl.msg).unit_system = "si";
12
13 required string huxley_tcp_address = 1;
14 optional uint32 huxley_tcp_port = 2 [default = 29500];
15 optional uint32 reconnect_interval = 3 [
16 default = 10,
17 (dccl.field).units.base_dimensions = "T",
18 (goby.field).description =
19 "How many seconds to wait between reconnects if the Huxley server "
20 "disconnects."
21 ];
22 optional uint32 nmea_resend_attempts = 4 [
23 default = 3,
24 (goby.field).description =
25 "Number of resend attempts for a given NMEA message"
26 ];
27 optional uint32 nmea_resend_interval = 5 [
28 default = 5,
29 (dccl.field).units.base_dimensions = "T",
30 (goby.field).description =
31 "How many seconds to wait between resend attempts"
32 ];
33 optional uint32 allowed_nmea_demerits = 6 [
34 default = 3,
35 (goby.field).description =
36 "Number of times Huxley can fail to acknowledge a NMEA message "
37 "before we close the connection."
38 ];
39 optional uint32 allow_missing_nav_interval = 7 [
40 default = 5,
41 (dccl.field).units.base_dimensions = "T",
42 (goby.field).description =
43 "How many seconds to allow without $BFNVG before declaring "
44 "frontseat not providing us data."
45 ];
46 optional uint32 heartbeat_interval = 8 [
47 default = 1,
48 (dccl.field).units.base_dimensions = "T",
49 (goby.field).description =
50 "How many seconds between heartbeats (BPSTS)."
51 ];
52
53 repeated string extra_bplog = 9
54 [(goby.field).description =
55 "Additional Bluefin messages to enable logging for (e.g. for to "
56 "send '$BPLOG,CMA,ON', set this field to 'CMA'"];
57
58 optional bool send_tmr_messages = 10 [
59 default = true,
60 (goby.field).description =
61 "Send the BPTMR message with acoustic comms contents."
62 ];
63
64 optional bool disable_ack = 11 [
65 default = false,
66 (goby.field).description =
67 "(Advanced) if true, do not use the BFACK message. Set to true for "
68 "vehicles without the BFACK support. Note that if this field is "
69 "set, IFS_COMMAND_RESPONSE messages will not be posted."
70 ];
71
72 enum AcceptingCommandsHook
73 {
74 BFMSC_TRIGGER = 0;
75 BFMIS_RUNNING_TRIGGER = 1;
76 BFCTL_TRIGGER = 2;
77 }
78
79 optional AcceptingCommandsHook accepting_commands_hook = 12 [
80 default = BFMSC_TRIGGER,
81 (goby.field).description =
82 "How this driver determines if the Bluefin Huxley is accepting "
83 "commands. BFMSC_TRIGGER means the $BFMSC message receipt "
84 "indicates that Huxley is receiving our commands. "
85 "BFMIS_RUNNING_TRIGGER indicates that any $BFMIS (start of "
86 "mission) that contains the word 'Running' indicates that Huxley "
87 "is receiving our commands."
88 ];
89
90 optional bool use_rpm_table_for_speed = 20 [
91 default = false,
92 (goby.field).description =
93 "If true, use a direct linear mapping from speed to RPM as defined "
94 "by the 'rpm_table' entries, rather than commanding a desired "
95 "speed"
96 ];
97 message RPMSpeedEntry
98 {
99 required double speed = 1
100 [(dccl.field).units = {derived_dimensions: "velocity"}];
101 required int32 rpm = 2;
102 }
103 repeated RPMSpeedEntry rpm_table = 21;
104}
105
106extend Config
107{
108 optional BluefinConfig bluefin_config = 1000;
109}