Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
app_config.proto
Go to the documentation of this file.
1syntax = "proto2";
2import "goby/protobuf/option_extensions.proto";
3import "goby/util/protobuf/debug_logger.proto";
4import "dccl/option_extensions.proto";
5
6package goby.middleware.protobuf;
7
8message 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}