2 import "goby/common/protobuf/option_extensions.proto";
3 import "goby/common/protobuf/app_base_config.proto";
5 package goby.core.proto;
7 // Type of vehicle for a given node
19 // defines information and connections
20 // to a node (vehicle, ship, etc.)
21 // a node is defined by a single gobyd and collection
22 // of connected processes
27 required string port = 1 [(goby.field).example = "/dev/ttyUSB1"];
28 required uint32 baud = 2 [(goby.field).example = "19200"];
30 message AcousticModemInfo
32 required uint32 modem_id = 1 [
33 (goby.field).description = "Micro-Modem id ($CCCFQ,SRC)",
34 (goby.field).example = "1"
36 required SerialInfo modem_serial = 2;
37 optional bool has_coproc = 3 [
39 (goby.field).description = "can handle high-rate PSK"
44 required string ipv4_addr = 1 [(goby.field).example = "192.168.1.1"];
45 required uint32 ipv4_port = 2 [(goby.field).example = "10023"];
48 required string name = 1 [
49 (goby.field).description = "unique name of the node",
50 (goby.field).example = "AUV-23"
52 optional VehicleType type = 2
53 [(goby.field).description = "type of the node", default = AUV];
55 optional AcousticModemInfo acomms = 3
56 [(goby.field).description = "acoustic connectivity"];
57 optional EthernetInfo ether = 4
58 [(goby.field).description = "ethernet connectivity"];
59 optional SerialInfo serial = 5
60 [(goby.field).description = "serial connectivity "];
69 optional SQLBackend backend = 1 [default = SQLITE];
73 // %1% gets expanded into platform name
74 // %2% gets expanded to iso date-time stamp
75 optional string path = 2 [default = "./%1%_%2%_goby.db"];
77 // only needed if backend == SQLITE
78 optional SQLiteInfo sqlite = 2;
81 // latitude and longitude can be troublesome to use, so often
82 // we want to define a local datum for doing a planar approximation
83 // in X,Y,Z coordinates (meters) of where vehicles are.
84 // This datum is the 0,0,0 point of the X,Y,Z grid
85 message LocalCartesianDatum
87 required double lat = 1; // decimal degrees
88 required double lon = 2; // decimal degrees
89 optional double depth = 3 [default = 0]; // meters
94 optional AppBaseConfig base = 1
95 [(goby.field).description = "params shared with all goby applications"];
96 optional Platform self = 2 [(goby.field).description = "this platform"];
97 repeated Platform other = 3
98 [(goby.field).description = "the known world of platforms"];
99 // optional LogConfig log = 4 [(goby.field).description="SQL log
102 optional LocalCartesianDatum origin = 5 [
103 (goby.field).description =
104 "Convenient origin for local cartesian coordinate transformations"