Goby3  3.1.5a
2024.05.23
app_config.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 "dccl/option_extensions.proto";
5 
6 package goby.middleware.protobuf;
7 
8 message AppConfig
9 {
10  option (dccl.msg).unit_system = "si";
11 
12  optional string name = 1 [
13  (goby.field).example = "myapp_g",
14  (goby.field).description =
15  "default is 'binary': change this to run multiple instances",
16  (goby.field).cfg = { action: ADVANCED }
17  ];
18 
19  optional string binary = 2 [(goby.field) = {
20  description: "compiled binary name; set by configurator."
21  cfg { action: NEVER }
22  }];
23 
24  optional goby.util.protobuf.GLogConfig glog_config = 10
25  [(goby.field).description =
26  "configure the Goby Logger (TTY terminal and file debugging "
27  "logger)"];
28 
29  message SimulatorSettings
30  {
31  message Time
32  {
33  optional bool use_sim_time = 1 [
34  default = false,
35  (goby.field).description =
36  "Enable the use of a different clock for all calls to "
37  "goby::time::SystemClock::now<time::MicroTime>() and "
38  "related"
39  ];
40  optional int32 warp_factor = 2 [
41  default = 1,
42  (goby.field).description =
43  "Warp factor used to simulate faster-than-realtime "
44  "missions. For example warp_factor: 10 means run the clock "
45  "10x the real time."
46  ];
47  optional int64 reference_microtime = 3 [
48  (goby.field).description =
49  "Reference time to use when running with use_sim_time: "
50  "true (defaults to 00:00 UTC on January 1 of the current "
51  "year). The time difference between now and the reference "
52  "time is multiplied by the warp factor to calculate the "
53  "modified simulation time",
54  (goby.field).cfg = { action: ADVANCED },
55  (dccl.field).units = { prefix: "micro" base_dimensions: "T" }
56  ];
57  }
58  optional Time time = 1;
59  }
60  optional SimulatorSettings simulation = 20
61  [(goby.field).description = "Simulation related settings"];
62 
63  message Geodesy
64  {
65  required double lat_origin = 1 [(dccl.field).units = {
66  system: "angle::degree"
67  derived_dimensions: "plane_angle"
68  }];
69  required double lon_origin = 2 [(dccl.field).units = {
70  system: "angle::degree"
71  derived_dimensions: "plane_angle"
72  }];
73  }
74  optional Geodesy geodesy = 30 [
75  (goby.field).description = "Geodesy related settings",
76  (goby.field).cfg = { action: ADVANCED }
77  ];
78 
79  message Health
80  {
81  optional bool run_health_monitor_thread = 1 [default = true];
82  }
83  optional Health health_cfg = 40 [(goby.field).cfg = { action: ADVANCED }];
84 
85  message Tool
86  {
87  repeated string extra_cli_param = 1;
88  }
89  optional Tool tool_cfg = 50 [(goby.field).cfg = { action: NEVER }];
90 
91  optional bool debug_cfg = 100 [
92  default = false,
93  (goby.field).description =
94  "If true, rather than launch the application, simply write the "
95  "parsed configuration to stdout and exit",
96  (goby.field).cfg = { action: ADVANCED }
97  ];
98 }