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 }