Goby v2
goby_moos_app.proto
1 
2 import "goby/common/protobuf/option_extensions.proto";
3 import "goby/common/protobuf/logger.proto";
4 import "goby/moos/protobuf/translator.proto";
5 
6 message GobyMOOSAppConfig
7 {
8  // Global moos variables (Specified outside "ProcessConfig" blocks)
9  optional bool log = 100 [
10  default = true,
11  (goby.field).moos_global = "log",
12  (goby.field).description =
13  "Should we write a text log of the terminal output?"
14  ];
15  optional string log_path = 101 [
16  default = "./",
17  (goby.field).moos_global = "log_path",
18  (goby.field).description =
19  "Directory path to write the text log of the terminal output (if "
20  "log=true)"
21  ];
22 
23  optional goby.common.protobuf.GLogConfig.Verbosity log_verbosity = 105 [
24  default = DEBUG2,
25  (goby.field).description = "Verbosity of the log file"
26  ];
27 
28  optional string community = 102 [
29  (goby.field).moos_global = "Community",
30  (goby.field).description = "The vehicle's name",
31  (goby.field).example = "AUV23"
32  ];
33  optional double lat_origin = 103 [
34  (goby.field).moos_global = "LatOrigin",
35  (goby.field).description =
36  "Latitude in decimal degrees of the local cartesian datum",
37  (goby.field).example = "42.5"
38  ];
39  optional double lon_origin = 104 [
40  (goby.field).moos_global = "LongOrigin",
41  (goby.field).description =
42  "Longitude in decimal degrees of the local cartesian datum",
43  (goby.field).example = "10.9"
44  ];
45 
46  optional uint32 time_warp_multiplier = 106 [
47  default = 1,
48  (goby.field).moos_global = "MOOSTimeWarp",
49  (goby.field).description =
50  "Factor by which to make the clock run faster."
51  ];
52 
53  optional string server_host = 107 [
54  (goby.field).moos_global = "ServerHost",
55  (goby.field).description = "MOOSDB Server Host name"
56  ];
57  optional int32 server_port = 108 [
58  (goby.field).moos_global = "ServerPort",
59  (goby.field).description = "MOOSDB Server Port"
60  ];
61 
62  optional uint32 app_tick = 1 [
63  default = 10,
64  (goby.field).description = "Frequency at which to run Iterate()."
65  ];
66 
67  optional uint32 comm_tick = 2 [
68  default = 10,
69  (goby.field).description =
70  "Frequency at which to call into the MOOSDB for mail."
71  ];
72 
73  optional goby.common.protobuf.GLogConfig.Verbosity verbosity = 3 [
74  default = VERBOSE,
75  (goby.field).description = "Verbosity of the terminal window output"
76  ];
77  optional bool show_gui = 4 [
78  default = false,
79  (goby.field).description =
80  "Set to true to display windowed NCurses GUI for terminal output."
81  ];
82 
83  optional bool use_binary_protobuf = 109 [
84  default = false,
85  (goby.field).moos_global = "use_binary_protobuf",
86  (goby.field).description =
87  "Use TECHNIQUE_PREFIXED_PROTOBUF_NATIVE_ENCODED for parse_for_moos "
88  "and "
89  "serialize_for_moos"
90  ];
91 
92  optional goby.moos.protobuf.TranslatorEntry.ParserSerializerTechnique
93  moos_parser_technique = 110 [
94  default = TECHNIQUE_PREFIXED_PROTOBUF_TEXT_FORMAT,
95  (goby.field).moos_global = "moos_parser_technique"
96  ];
97 
98  // post various configuration values to the MOOSDB on startup
99  message Initializer
100  {
101  enum Type
102  {
103  INI_DOUBLE = 1;
104  INI_STRING = 2;
105  }
106  required Type type = 1 [
107  (goby.field).description = "type of MOOS variable to publish",
108  (goby.field).example = "INI_DOUBLE"
109  ];
110  required string moos_var = 2 [
111  (goby.field).description = "name of MOOS variable to publish to",
112  (goby.field).example = "SOME_MOOS_VAR"
113  ];
114  optional string global_cfg_var = 3 [
115  (goby.field).description =
116  "Optionally, instead of giving `sval` or `dval`, give a name "
117  "here of "
118  "a global MOOS variable (one at the top of the file) whose "
119  "contents "
120  "should be written to `moos_var`",
121  (goby.field).example = "LatOrigin"
122  ]; // pull from globals at top of MOOS file
123  optional double dval = 4 [
124  (goby.field).description = "Value to write for type==INI_DOUBLE",
125  (goby.field).example = "3.454"
126  ]; // required if type == MOOS_DOUBLE
127  optional string sval = 5 [
128  (goby.field).description = "Value to write for type==INI_STRING",
129  (goby.field).example = "a string"
130  ]; // required if type == MOOS_STRING
131  optional bool trim = 6 [
132  (goby.field).description =
133  "Trim whitespace from front and back of string",
134  default = true
135  ];
136  }
137  repeated Initializer initializer = 10
138  [(goby.field).description =
139  "Publish a constant value to the MOOSDB at startup"];
140 }