Note: Goby version 1 (shown here) is now considered obsolete. Please use version 2 for new projects, and consider upgrading old projects.

Goby Underwater Autonomy Project  Series: 1.1, revision: 163, released on 2013-02-06 14:23:27 -0500
protobuf/config.proto
00001 import "goby/protobuf/option_extensions.proto";
00002 import "goby/protobuf/app_base_config.proto";
00003 
00004 package goby.core.proto;
00005 
00006 // Type of vehicle for a given node
00007 enum VehicleType { AUV = 1;
00008                    USV = 2;
00009                    SHIP = 3;
00010                    GLIDER = 4;
00011                    TARGET = 5;
00012                    BUOY = 6;
00013                    OTHER = 7; }
00014 
00015 // defines information and connections
00016 // to a node (vehicle, ship, etc.)
00017 // a node is defined by a single gobyd and collection
00018 // of connected processes
00019 message Platform
00020 {
00021   message SerialInfo
00022   {
00023     required string port = 1 [(example)="/dev/ttyUSB1"];
00024     required uint32 baud = 2 [(example)="19200"];
00025   }
00026   message AcousticModemInfo
00027   {
00028     required uint32 mm_id = 1 [(description)="Micro-Modem id ($CCCFQ,SRC)",
00029                                (example)="1"];
00030     required SerialInfo mm_serial = 2;
00031     optional bool has_coproc = 3 [default=true,
00032                                   (description)="can handle high-rate PSK"];
00033   }
00034   message EthernetInfo
00035   {
00036     required string ipv4_addr = 1 [(example)="192.168.1.1"];
00037     required uint32 ipv4_port = 2 [(example)="10023"];
00038   }
00039     
00040   required string name = 1 [(description)="unique name of the node",
00041                             (example)="AUV-23"];
00042   optional VehicleType type = 2 [(description)="type of the node", default=AUV];
00043 
00044   optional AcousticModemInfo acomms = 3 [(description)="acoustic connectivity"];
00045   optional EthernetInfo ether = 4 [(description)="ethernet connectivity"];
00046   optional SerialInfo serial = 5 [(description)="serial connectivity "];
00047 }
00048 
00049 message LogConfig
00050 {
00051   enum SQLBackend
00052   {
00053     SQLITE = 1;
00054   }
00055   optional SQLBackend backend = 1 [default=SQLITE];
00056     
00057   message SQLiteInfo
00058   {       
00059     // %1% gets expanded into platform name
00060     // %2% gets expanded to iso date-time stamp
00061     optional string path = 2 [default="./%1%_%2%_goby.db"];
00062   }
00063   // only needed if backend == SQLITE
00064   optional SQLiteInfo sqlite = 2;
00065 }
00066 
00067 // latitude and longitude can be troublesome to use, so often
00068 // we want to define a local datum for doing a planar approximation
00069 // in X,Y,Z coordinates (meters) of where vehicles are.
00070 // This datum is the 0,0,0 point of the X,Y,Z grid
00071 message LocalCartesianDatum
00072 {
00073   required double lat = 1; // decimal degrees
00074   required double lon = 2; // decimal degrees
00075   optional double depth = 3 [default=0]; // meters
00076 }
00077 
00078 message Config
00079 {
00080   optional AppBaseConfig base = 1 [(description)="params shared with all goby applications"];
00081   optional Platform self = 2 [(description)="this platform"];
00082   repeated Platform other = 3 [(description)="the known world of platforms"];
00083   optional LogConfig log = 4 [(description)="SQL log configuration"];
00084 
00085   optional LocalCartesianDatum origin = 5 [(description)="Convenient origin for local cartesian coordinate transformations"];
00086 }
00087 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends