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