2 import "goby/common/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_PB_STORE_SERVER = 5;
    15     DRIVER_BLUEFIN_MOOS = 7;
    17     DRIVER_IRIDIUM_SHORE = 9;
    18     DRIVER_BENTHOS_ATM900 = 10;
    23     optional int32 modem_id = 1 [
    24         (goby.field).description = "Unique number 1-31 to identify this node",
    25         (goby.field).example = "1"
    31             1;  // Modem is connected by a tty serial line (e.g. RS-232)
    32         CONNECTION_TCP_AS_CLIENT =
    33             2;  // Modem is connected by ethernet and is serving clients
    34         CONNECTION_TCP_AS_SERVER =
    35             3;  // Modem is connected by ethernet and expects us to serve it
    38     optional ConnectionType connection_type = 2 [
    39         default = CONNECTION_SERIAL,
    40         (goby.field).description =
    41             "Physical connection type from this computer (running Goby) to the "
    44     optional string line_delimiter = 3 [
    46         (goby.field).description =
    47             "String used to delimit new lines for this acoustic modem"
    48     ];  // delimits lines on the serial or tcp interface
    50     // required if connection_type == CONNECTION_SERIAL
    51     optional string serial_port = 4 [
    52         (goby.field).description = "Serial port for CONNECTION_SERIAL",
    53         (goby.field).example = "/dev/ttyS0"
    55     optional uint32 serial_baud = 5 [
    56         (goby.field).description = "Baud rate for CONNECTION_SERIAL",
    57         (goby.field).example = "19200"
    60     // required if connection_type == CONNECTION_TCP_AS_CLIENT
    61     optional string tcp_server = 6 [
    62         (goby.field).description =
    63             "IP Address or domain name for the server if "
    64             "CONNECTION_TCP_AS_CLIENT",
    65         (goby.field).example = "192.168.1.111"
    68     // required if connection_type == CONNECTION_TCP_AS_CLIENT or
    69     // CONNECTION_TCP_AS_SERVER
    70     optional uint32 tcp_port = 7 [
    71         (goby.field).description =
    72             "Port to serve on (for CONNECTION_TCP_AS_SERVER) or to connect to "
    74             "CONNECTION_TCP_AS_CLIENT)",
    75         (goby.field).example = "50010"
    78     optional uint32 reconnect_interval = 8 [
    79         (goby.field).description = "Seconds between TCP reconnect attempts",
    83     optional string raw_log = 9
    84         [(goby.field).description =
    85              "File to write raw modem log to. If %1% is present, is replaced "
    86              "with the current timestamp."];
    88     optional string driver_name = 10
    89         [(goby.field).description = "Driver name to load from plugin library"];
    91     extensions 1000 to max;
    92     // extensions 1000-1100 used by acomms_mm_driver.proto
    93     // extensions 1201-1202 used by acomms_abc_driver.proto (example driver)
    94     // extensions 1300-1320 used by ufield_sim_driver.proto
    95     // extensions 1321-1340 used by pb_modem_driver.proto
    96     // extensions 1341-1360 used by udp_driver.proto
    97     // extensions 1361-1380 used by bluefin_sim_driver.proto
    98     // extensions 1381-1400 used by iridium_driver.proto
    99     // extensions 1401-1420 used by MOOSSafir (external)
   100     // extensions 1421-1440 used by iridium_shore_driver.proto
   101     // extensions 1441-1460 used by benthos_atm900.proto