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