4 // Toby Schneider <toby@gobysoft.org>
7 // This file is part of the JaiaBot Project Binaries
8 // ("The Jaia Binaries").
10 // The Jaia Binaries are free software: you can redistribute them and/or modify
11 // them under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 2 of the License, or
13 // (at your option) any later version.
15 // The Jaia Binaries are distributed in the hope that they will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with the Jaia Binaries. If not, see <http://www.gnu.org/licenses/>.
25 import "goby/middleware/protobuf/app_config.proto";
26 import "goby/zeromq/protobuf/interprocess_config.proto";
27 import "goby/middleware/protobuf/udp_config.proto";
28 import "dccl/option_extensions.proto";
29 import "jaiabot/messages/motor.proto";
31 package jaiabot.config;
33 message LinuxHardwareConfig
35 optional string data_disk_mountpoint = 10 [default = "/var/log"];
37 optional float disk_low_available_percentage = 11 [default = 10];
38 optional float disk_critical_available_percentage = 12 [default = 2];
40 optional float ram_low_available_percentage = 20 [default = 10];
41 optional float ram_critical_available_percentage = 21 [default = 1];
44 optional float high_load_factor = 30 [default = 0.9];
45 optional float critical_load_factor = 31 [default = 5];
47 optional string wireless_file = 40 [default = "/proc/net/wireless"];
48 optional string wlan_interface = 41 [default = "wlan0"];
51 message NTPStatusConfig
57 optional float high_offset_threshold = 10 [
59 (dccl.field).units = { prefix: "milli" base_dimensions: "T" }
61 optional float high_jitter_threshold = 11 [
63 (dccl.field).units = { prefix: "milli" base_dimensions: "T" }
67 message HelmIVPStatusConfig
72 optional int32 time_out_helm_status = 10 [default = 20];
75 message MotorStatusConfig
81 optional int32 motor_rpm_report_timeout_seconds = 10 [default = 40];
82 optional int32 motor_thermistor_report_timeout_seconds = 11 [default = 40];
83 optional jaiabot.protobuf.MotorHarnessType motor_harness_type = 12 [default = NONE];
92 optional goby.middleware.protobuf.AppConfig app = 1;
93 optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
94 optional goby.middleware.protobuf.UDPPointToPointConfig udp_config = 3;
96 optional bool auto_restart = 10 [default = true];
97 optional int32 auto_restart_timeout = 11
98 [default = 20, (dccl.field).units = { base_dimensions: "T" }];
99 optional int32 auto_restart_init_grace_period = 12
100 [default = 60, (dccl.field).units = { base_dimensions: "T" }];
102 optional bool ignore_powerstate_changes = 20 [default = false];
103 optional bool check_helm_ivp_status = 21 [default = true];
104 optional bool is_in_sim = 23 [default = false];
105 optional bool test_hardware_in_sim = 24 [default = false];
107 optional LinuxHardwareConfig linux_hw = 30;
108 optional NTPStatusConfig ntp = 40;
109 optional HelmIVPStatusConfig helm = 41;
110 optional MotorStatusConfig motor = 42;