2 import "goby/middleware/protobuf/frontseat.proto";
3 import "goby/middleware/protobuf/frontseat_config.proto";
4 import "goby/protobuf/option_extensions.proto";
5 import "dccl/option_extensions.proto";
7 package goby.middleware.frontseat.protobuf;
11 required string serial_port = 1
12 [(goby.field).description =
13 "Serial port connected to Iver Remote Helm"];
14 optional uint32 serial_baud = 2 [
16 (goby.field).description = "Serial baud rate for 'serial_port'"
18 optional string ntp_serial_port = 3 [
19 (goby.field).description =
20 "If set, write the GPS feed from the Iver to this serial port for NTP to use"
22 optional int32 max_pitch_angle_degrees = 4 [
24 (goby.field).description =
25 "The maximum pitch that this driver will command (in degrees)"
27 required int32 remote_helm_version_major = 5 [
28 (goby.field).description =
29 "Sets the Iver Remote Helm major version that this driver will connect to. Important: Iver Remote Helm changed OMS from feet to meters in major version 5"
31 optional uint32 oms_timeout = 6 [
33 (dccl.field) = { min: 0 max: 120 },
34 (goby.field).description = "Timeout for $OMS, in seconds."
36 message IverModeAssignments {
37 optional FrontSeatState unknown = 1 [default = FRONTSEAT_IDLE];
38 optional FrontSeatState normal = 2 [default = FRONTSEAT_ACCEPTING_COMMANDS];
39 optional FrontSeatState stopped = 3 [default = FRONTSEAT_IDLE];
40 optional FrontSeatState parking = 4 [default = FRONTSEAT_IN_CONTROL];
41 optional FrontSeatState manual_override = 5 [default = FRONTSEAT_ACCEPTING_COMMANDS];
42 optional FrontSeatState manual_parking = 6 [default = FRONTSEAT_ACCEPTING_COMMANDS];
43 optional FrontSeatState servo_mode = 7 [default = FRONTSEAT_ACCEPTING_COMMANDS];
44 optional FrontSeatState mission_mode = 8 [default = FRONTSEAT_ACCEPTING_COMMANDS];
46 optional IverModeAssignments mode_assignments = 7 [
47 (goby.field).description = "Assignments of mission modes to frontseat states."
53 optional IverConfig iver_config = 1003;