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 }
108 optional string dccl_passphrase = 1 [
109 (goby.field).description =
110 "If set, encrypt and decrypt all DCCL intervehicle messages with this passphrase using AES encryption. This passphrase must match all intervehicle publishers and subscribers using any DCCL messages within this system, include gobyd/goby_intervehicle_portal."
113 optional Intervehicle intervehicle_cfg = 150
114 [(goby.field).cfg = { action: ADVANCED }];