2 import "goby/protobuf/option_extensions.proto";
4 package goby.acomms.protobuf;
6 // known drivers - should make this somehow extensible outside Goby
10 DRIVER_WHOI_MICROMODEM = 2;
11 DRIVER_ABC_EXAMPLE_MODEM = 3;
12 DRIVER_UFIELD_SIM_DRIVER = 4;
13 DRIVER_STORE_SERVER = 5;
15 DRIVER_BLUEFIN_MOOS = 7;
17 DRIVER_IRIDIUM_SHORE = 9;
18 DRIVER_BENTHOS_ATM900 = 10;
19 DRIVER_UDP_MULTICAST = 11;
28 goby.acomms.protobuf.DriverType driver_type = 1 [
29 default = DRIVER_NONE,
30 (goby.field).description =
31 "Driver for the type of physical link used"
33 string driver_name = 2 [(goby.field).description =
34 "Driver name to load from plugin library"];
37 optional int32 modem_id = 10 [
38 (goby.field).description = "Unique number 1-31 to identify this node",
39 (goby.field).example = "1"
45 1; // Modem is connected by a tty serial line (e.g. RS-232)
46 CONNECTION_TCP_AS_CLIENT =
47 2; // Modem is connected by ethernet and is serving clients
48 CONNECTION_TCP_AS_SERVER =
49 3; // Modem is connected by ethernet and expects us to serve it
52 optional ConnectionType connection_type = 20 [
53 default = CONNECTION_SERIAL,
54 (goby.field).description =
55 "Physical connection type from this computer (running Goby) to the "
58 optional string line_delimiter = 21 [
60 (goby.field).description =
61 "String used to delimit new lines for this acoustic modem"
62 ]; // delimits lines on the serial or tcp interface
64 // required if connection_type == CONNECTION_SERIAL
65 optional string serial_port = 22 [
66 (goby.field).description = "Serial port for CONNECTION_SERIAL",
67 (goby.field).example = "/dev/ttyS0"
69 optional uint32 serial_baud = 23 [
70 (goby.field).description = "Baud rate for CONNECTION_SERIAL",
71 (goby.field).example = "19200"
74 // required if connection_type == CONNECTION_TCP_AS_CLIENT
75 optional string tcp_server = 24 [
76 (goby.field).description =
77 "IP Address or domain name for the server if "
78 "CONNECTION_TCP_AS_CLIENT",
79 (goby.field).example = "192.168.1.111"
82 // required if connection_type == CONNECTION_TCP_AS_CLIENT or
83 // CONNECTION_TCP_AS_SERVER
84 optional uint32 tcp_port = 25 [
85 (goby.field).description =
86 "Port to serve on (for CONNECTION_TCP_AS_SERVER) or to connect to "
87 "(for CONNECTION_TCP_AS_CLIENT)",
88 (goby.field).example = "50010"
91 optional uint32 reconnect_interval = 26 [
92 (goby.field).description = "Seconds between TCP reconnect attempts",
96 optional string raw_log = 30
97 [(goby.field).description =
98 "File to write raw modem log to. If %1% is present, is replaced "
99 "with the current timestamp."];
101 extensions 1000 to max;
102 // extension 1000 used by acomms_mm_driver.proto
103 // extension 1201 used by acomms_abc_driver.proto (example driver)
104 // extension 1300 used by ufield_sim_driver.proto
105 // extension 1321 used by store_server_driver.proto
106 // extension 1341 used by udp_driver.proto
107 // extension 1342 used by udp_multicast_driver.proto
108 // extension 1343 used by pluggable udp_multicast_driver (in goby3-examples)
109 // extension 1361 used by bluefin_sim_driver.proto
110 // extension 1381 used by iridium_driver.proto
111 // extensions 1401-1420 used by MOOSSafir (external)
112 // extension 1421 used by iridium_shore_driver.proto
113 // extension 1441 used by benthos_atm900.proto
114 // extension 1442 used by popoto.proto
115 // extension 1443 used by Jaiabot XBee
116 // extensions 1510-1519 used by Blue Ocean Seismic Services