JaiaBot  1.12.0+18+g85da5f82
JaiaBot micro-AUV software
config.proto
Go to the documentation of this file.
1 // Copyright 2021:
2 // JaiaRobotics LLC
3 // File authors:
4 // Toby Schneider <toby@gobysoft.org>
5 //
6 //
7 // This file is part of the JaiaBot Project Binaries
8 // ("The Jaia Binaries").
9 //
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.
14 //
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.
19 //
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/>.
22 
23 syntax = "proto2";
24 
25 import "goby/middleware/protobuf/app_config.proto";
26 import "goby/zeromq/protobuf/interprocess_config.proto";
27 import "dccl/option_extensions.proto";
28 
29 package jaiabot.config;
30 
31 message LinuxHardwareConfig
32 {
33  optional string data_disk_mountpoint = 10 [default = "/var/log"];
34 
35  optional float disk_low_available_percentage = 11 [default = 10];
36  optional float disk_critical_available_percentage = 12 [default = 2];
37 
38  optional float ram_low_available_percentage = 20 [default = 10];
39  optional float ram_critical_available_percentage = 21 [default = 1];
40 
41  // load per processor
42  optional float high_load_factor = 30 [default = 0.9];
43  optional float critical_load_factor = 31 [default = 5];
44 
45  optional string wireless_file = 40 [default = "/proc/net/wireless"];
46  optional string wlan_interface = 41 [default = "wlan0"];
47 }
48 
49 message NTPStatusConfig
50 {
51  option (dccl.msg) = {
52  unit_system: "si"
53  };
54 
55  optional float high_offset_threshold = 10 [
56  default = 10,
57  (dccl.field).units = { prefix: "milli" base_dimensions: "T" }
58  ];
59  optional float high_jitter_threshold = 11 [
60  default = 100,
61  (dccl.field).units = { prefix: "milli" base_dimensions: "T" }
62  ];
63 }
64 
65 message HelmIVPStatusConfig
66 {
67  option (dccl.msg) = {
68  unit_system: "si"
69  };
70  optional int32 time_out_helm_status = 10 [default = 20];
71 }
72 
73 message Health
74 {
75  option (dccl.msg) = {
76  unit_system: "si"
77  };
78 
79  optional goby.middleware.protobuf.AppConfig app = 1;
80  optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
81 
82  optional bool auto_restart = 10 [default = true];
83  optional int32 auto_restart_timeout = 11
84  [default = 20, (dccl.field).units = { base_dimensions: "T" }];
85  optional int32 auto_restart_init_grace_period = 12
86  [default = 60, (dccl.field).units = { base_dimensions: "T" }];
87 
88  optional bool ignore_powerstate_changes = 20 [default = false];
89  optional bool check_helm_ivp_status = 21 [default = true];
90  optional bool is_in_sim = 23 [default = false];
91  optional bool test_hardware_in_sim = 24 [default = false];
92 
93  optional LinuxHardwareConfig linux_hw = 30;
94  optional NTPStatusConfig ntp = 40;
95  optional HelmIVPStatusConfig helm = 41;
96 }