2import "goby/protobuf/option_extensions.proto";
3import "goby/util/protobuf/debug_logger.proto";
4import "dccl/option_extensions.proto";
6package goby.middleware.protobuf;
10 option (dccl.msg).unit_system = "si";
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 }
19 optional string binary = 2 [(goby.field) = {
20 description: "compiled binary name; set by configurator."
24 optional double loop_frequency = 3 [
26 description: "Frequency to call loop() at. If not set, uses compile-time loop frequency. Zero or negative means loop() is never called."
28 (dccl.field).units = { base_dimensions: "T^-1" }
31 optional goby.util.protobuf.GLogConfig glog_config = 10
32 [(goby.field).description =
33 "configure the Goby Logger (TTY terminal and file debugging "
36 message SimulatorSettings
40 optional bool use_sim_time = 1 [
42 (goby.field).description =
43 "Enable the use of a different clock for all calls to "
44 "goby::time::SystemClock::now<time::MicroTime>() and "
47 optional int32 warp_factor = 2 [
49 (goby.field).description =
50 "Warp factor used to simulate faster-than-realtime "
51 "missions. For example warp_factor: 10 means run the clock "
54 optional int64 reference_microtime = 3 [
55 (goby.field).description =
56 "Reference time to use when running with use_sim_time: "
57 "true (defaults to 00:00 UTC on January 1 of the current "
58 "year). The time difference between now and the reference "
59 "time is multiplied by the warp factor to calculate the "
60 "modified simulation time",
61 (goby.field).cfg = { action: ADVANCED },
62 (dccl.field).units = { prefix: "micro" base_dimensions: "T" }
65 optional Time time = 1;
67 optional SimulatorSettings simulation = 20
68 [(goby.field).description = "Simulation related settings"];
72 required double lat_origin = 1 [(dccl.field).units = {
73 system: "angle::degree"
74 derived_dimensions: "plane_angle"
76 required double lon_origin = 2 [(dccl.field).units = {
77 system: "angle::degree"
78 derived_dimensions: "plane_angle"
81 optional Geodesy geodesy = 30 [
82 (goby.field).description = "Geodesy related settings",
83 (goby.field).cfg = { action: ADVANCED }
88 optional bool run_health_monitor_thread = 1 [default = true];
90 optional Health health_cfg = 40 [(goby.field).cfg = { action: ADVANCED }];
94 repeated string extra_cli_param = 1;
96 optional Tool tool_cfg = 50 [(goby.field).cfg = { action: NEVER }];
98 optional bool debug_cfg = 100 [
100 (goby.field).description =
101 "If true, rather than launch the application, simply write the "
102 "parsed configuration to stdout and exit",
103 (goby.field).cfg = { action: ADVANCED }