JaiaBot 2.7.0
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
health.proto
Go to the documentation of this file.
1syntax = "proto2";
2
3import "dccl/option_extensions.proto";
4import "goby/middleware/protobuf/coroner.proto";
5import "jaiabot/messages/option_extensions.proto";
6
7package jaiabot.protobuf;
8
9enum Error
10{
11 // from jaiabot_fusion
12 ERROR__TOO_MANY_ERRORS_TO_REPORT_ALL = 0
13 [(jaia.ev).rest_api.presence = GUARANTEED];
14
15 // Directly from systemd
16 ERROR__FAILED__UNKNOWN = 1 [(jaia.ev).rest_api.presence = GUARANTEED];
17 ERROR__FAILED__GOBYD = 2 [(jaia.ev).rest_api.presence = GUARANTEED];
18 ERROR__FAILED__GOBY_LIAISON = 3 [(jaia.ev).rest_api.presence = GUARANTEED];
19 ERROR__FAILED__GOBY_GPS = 4 [(jaia.ev).rest_api.presence = GUARANTEED];
20 ERROR__FAILED__GOBY_LOGGER = 5 [(jaia.ev).rest_api.presence = GUARANTEED];
21 ERROR__FAILED__GOBY_CORONER = 6 [(jaia.ev).rest_api.presence = GUARANTEED];
22 ERROR__FAILED__GOBY_MOOS_GATEWAY = 7
23 [(jaia.ev).rest_api.presence = GUARANTEED];
24 ERROR__FAILED__JAIABOT_HEALTH = 8
25 [(jaia.ev).rest_api.presence = GUARANTEED];
26 ERROR__FAILED__JAIABOT_METADATA = 9
27 [(jaia.ev).rest_api.presence = GUARANTEED];
28 ERROR__FAILED__JAIABOT_HUB_MANAGER = 10
29 [(jaia.ev).rest_api.presence = GUARANTEED];
30 ERROR__FAILED__JAIABOT_WEB_PORTAL = 11
31 [(jaia.ev).rest_api.presence = GUARANTEED];
32 ERROR__FAILED__JAIABOT_FUSION = 12
33 [(jaia.ev).rest_api.presence = GUARANTEED];
34 ERROR__FAILED__JAIABOT_MISSION_MANAGER = 13
35 [(jaia.ev).rest_api.presence = GUARANTEED];
36 ERROR__FAILED__JAIABOT_PID_CONTROL = 14
37 [(jaia.ev).rest_api.presence = GUARANTEED];
38 ERROR__FAILED__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 15
39 [(jaia.ev).rest_api.presence = GUARANTEED];
40 ERROR__FAILED__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 16
41 [(jaia.ev).rest_api.presence = GUARANTEED];
42 ERROR__FAILED__JAIABOT_DRIVER_ARDUINO = 18
43 [(jaia.ev).rest_api.presence = GUARANTEED];
44 ERROR__FAILED__JAIABOT_ENGINEERING = 19
45 [(jaia.ev).rest_api.presence = GUARANTEED];
46 ERROR__FAILED__MOOS_MOOSDB = 20 [(jaia.ev).rest_api.presence = GUARANTEED];
47 ERROR__FAILED__MOOS_PHELMIVP = 21
48 [(jaia.ev).rest_api.presence = GUARANTEED];
49 ERROR__FAILED__MOOS_UPROCESSWATCH = 22
50 [(jaia.ev).rest_api.presence = GUARANTEED];
51 ERROR__FAILED__MOOS_PNODEREPORTER = 23
52 [(jaia.ev).rest_api.presence = GUARANTEED];
53 ERROR__FAILED__PYTHON_JAIABOT_WEB_APP = 24
54 [(jaia.ev).rest_api.presence = GUARANTEED];
55 ERROR__FAILED__PYTHON_JAIABOT_IMU = 25
56 [(jaia.ev).rest_api.presence = GUARANTEED];
57 ERROR__FAILED__PYTHON_JAIABOT_PRESSURE_SENSOR = 26
58 [(jaia.ev).rest_api.presence = GUARANTEED];
59 ERROR__FAILED__PYTHON_JAIABOT_AS_EZO_EC = 27
60 [(jaia.ev).rest_api.presence = GUARANTEED];
61 ERROR__FAILED__JAIABOT_LOG_CONVERTER = 28
62 [(jaia.ev).rest_api.presence = GUARANTEED];
63 ERROR__FAILED__JAIABOT_DATA_VISION = 29
64 [(jaia.ev).rest_api.presence = GUARANTEED];
65 ERROR__FAILED__JAIABOT_SIMULATOR = 30
66 [(jaia.ev).rest_api.presence = GUARANTEED];
67 ERROR__FAILED__MOOS_SIM_MOOSDB = 31
68 [(jaia.ev).rest_api.presence = GUARANTEED];
69 ERROR__FAILED__MOOS_SIM_USIMMARINE = 32
70 [(jaia.ev).rest_api.presence = GUARANTEED];
71 ERROR__FAILED__GOBY_INTERVEHICLE_PORTAL = 33
72 [(jaia.ev).rest_api.presence = GUARANTEED];
73 ERROR__FAILED__JAIABOT_ECHO_DRIVER = 35
74 [(jaia.ev).rest_api.presence = GUARANTEED];
75 ERROR__FAILED__PYTHON_JAIABOT_ECHO = 36
76 [(jaia.ev).rest_api.presence = GUARANTEED];
77 ERROR__FAILED__JAIABOT_TSYS01_TEMPERATURE_SENSOR_DRIVER = 37
78 [(jaia.ev).rest_api.presence = GUARANTEED];
79 ERROR__FAILED__PYTHON_JAIABOT_TSYS01_TEMPERATURE_SENSOR_DRIVER = 38
80 [(jaia.ev).rest_api.presence = GUARANTEED];
81 ERROR__FAILED__PYTHON_JAIABOT_MOTOR_LISTENER = 39
82 [(jaia.ev).rest_api.presence = GUARANTEED];
83 ERROR__FAILED__JAIABOT_SENSORS = 40
84 [(jaia.ev).rest_api.presence = GUARANTEED];
85 ERROR__FAILED__JAIABOT_COMMS_MANAGER = 41
86 [(jaia.ev).rest_api.presence = GUARANTEED];
87 ERROR__FAILED__JAIABOT_CTD_MANAGER = 42
88 [(jaia.ev).rest_api.presence = GUARANTEED];
89 ERROR__FAILED__JAIABOT_UDP_GATEWAY = 43
90 [(jaia.ev).rest_api.presence = GUARANTEED];
91 ERROR__FAILED__JAIABOT_PPK = 44 [(jaia.ev).rest_api.presence = GUARANTEED];
92
93 // from goby_coroner
94 // must be "ERROR__NOT_RESPONDING__" + uppercase(application name)
95 ERROR__NOT_RESPONDING__UNKNOWN_APP = 100
96 [(jaia.ev).rest_api.presence = GUARANTEED];
97 ERROR__NOT_RESPONDING__GOBYD = 101
98 [(jaia.ev).rest_api.presence = GUARANTEED];
99 ERROR__NOT_RESPONDING__GOBY_LIAISON = 102
100 [(jaia.ev).rest_api.presence = GUARANTEED];
101 ERROR__NOT_RESPONDING__GOBY_GPS = 103
102 [(jaia.ev).rest_api.presence = GUARANTEED];
103 ERROR__NOT_RESPONDING__GOBY_LOGGER = 104
104 [(jaia.ev).rest_api.presence = GUARANTEED];
105 ERROR__NOT_RESPONDING__GOBY_CORONER = 105
106 [(jaia.ev).rest_api.presence = GUARANTEED];
107 ERROR__NOT_RESPONDING__JAIABOT_HEALTH = 106
108 [(jaia.ev).rest_api.presence = GUARANTEED];
109 ERROR__NOT_RESPONDING__JAIABOT_METADATA = 107
110 [(jaia.ev).rest_api.presence = GUARANTEED];
111 ERROR__NOT_RESPONDING__JAIABOT_HUB_MANAGER = 108
112 [(jaia.ev).rest_api.presence = GUARANTEED];
113 ERROR__NOT_RESPONDING__JAIABOT_WEB_PORTAL = 109
114 [(jaia.ev).rest_api.presence = GUARANTEED];
115 ERROR__NOT_RESPONDING__JAIABOT_FUSION = 110
116 [(jaia.ev).rest_api.presence = GUARANTEED];
117 ERROR__NOT_RESPONDING__GOBY_MOOS_GATEWAY = 111
118 [(jaia.ev).rest_api.presence = GUARANTEED];
119 ERROR__NOT_RESPONDING__JAIABOT_MISSION_MANAGER = 112
120 [(jaia.ev).rest_api.presence = GUARANTEED];
121 ERROR__NOT_RESPONDING__JAIABOT_PID_CONTROL = 113
122 [(jaia.ev).rest_api.presence = GUARANTEED];
123 ERROR__NOT_RESPONDING__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 114
124 [(jaia.ev).rest_api.presence = GUARANTEED];
125 ERROR__NOT_RESPONDING__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 115
126 [(jaia.ev).rest_api.presence = GUARANTEED];
127 ERROR__NOT_RESPONDING__JAIABOT_DRIVER_ARDUINO = 117
128 [(jaia.ev).rest_api.presence = GUARANTEED];
129 ERROR__NOT_RESPONDING__JAIABOT_ENGINEERING = 118
130 [(jaia.ev).rest_api.presence = GUARANTEED];
131 ERROR__NOT_RESPONDING__JAIABOT_SINGLE_THREAD_PATTERN = 119
132 [(jaia.ev).rest_api.presence = GUARANTEED];
133 ERROR__NOT_RESPONDING__JAIABOT_MULTI_THREAD_PATTERN = 120
134 [(jaia.ev).rest_api.presence = GUARANTEED];
135 ERROR__NOT_RESPONDING__JAIABOT_SIMULATOR = 121
136 [(jaia.ev).rest_api.presence = GUARANTEED];
137 ERROR__NOT_RESPONDING__GOBY_INTERVEHICLE_PORTAL = 122
138 [(jaia.ev).rest_api.presence = GUARANTEED];
139 ERROR__NOT_RESPONDING__JAIABOT_ECHO_DRIVER = 124
140 [(jaia.ev).rest_api.presence = GUARANTEED];
141 ERROR__NOT_RESPONDING__JAIABOT_TSYS01_TEMPERATURE_SENSOR_DRIVER = 125
142 [(jaia.ev).rest_api.presence = GUARANTEED];
143 ERROR__NOT_RESPONDING__JAIABOT_DRIVER_CAMERA = 126
144 [(jaia.ev).rest_api.presence = GUARANTEED];
145 ERROR__NOT_RESPONDING__JAIABOT_COMMS_MANAGER = 127
146 [(jaia.ev).rest_api.presence = GUARANTEED];
147 ERROR__NOT_RESPONDING__JAIABOT_IMU = 128
148 [(jaia.ev).rest_api.presence = GUARANTEED];
149 ERROR__NOT_RESPONDING__JAIABOT_TURNER_C_FLUOR_SENSOR_DRIVER = 129
150 [(jaia.ev).rest_api.presence = GUARANTEED];
151 ERROR__NOT_RESPONDING__JAIABOT_AML_SENSOR_DRIVER = 130
152 [(jaia.ev).rest_api.presence = GUARANTEED];
153 ERROR__NOT_RESPONDING__JAIABOT_CTD_MANAGER = 131
154 [(jaia.ev).rest_api.presence = GUARANTEED];
155
156 // from jaiabot_fusion
157 ERROR__MISSING_DATA__GPS_FIX = 200
158 [(jaia.ev).rest_api.presence = GUARANTEED];
159 ERROR__MISSING_DATA__GPS_POSITION = 201
160 [(jaia.ev).rest_api.presence = GUARANTEED];
161 ERROR__MISSING_DATA__PRESSURE = 210
162 [(jaia.ev).rest_api.presence = GUARANTEED];
163 ERROR__MISSING_DATA__HEADING = 212
164 [(jaia.ev).rest_api.presence = GUARANTEED];
165 ERROR__MISSING_DATA__SPEED = 215 [(jaia.ev).rest_api.presence = GUARANTEED];
166 ERROR__MISSING_DATA__COURSE = 216
167 [(jaia.ev).rest_api.presence = GUARANTEED];
168 ERROR__MISSING_DATA__CALIBRATION_SYS = 217
169 [(jaia.ev).rest_api.presence = GUARANTEED];
170 ERROR__MISSING_DATA__CALIBRATION_GYRO = 218
171 [(jaia.ev).rest_api.presence = GUARANTEED];
172 ERROR__MISSING_DATA__CALIBRATION_ACCEL = 219
173 [(jaia.ev).rest_api.presence = GUARANTEED];
174 ERROR__MISSING_DATA__CALIBRATION_MAG = 220
175 [(jaia.ev).rest_api.presence = GUARANTEED];
176 ERROR__NOT_CALIBRATED_SYS = 221 [(jaia.ev).rest_api.presence = GUARANTEED];
177 ERROR__NOT_CALIBRATED_GYRO = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
178 ERROR__NOT_CALIBRATED_ACCEL = 223
179 [(jaia.ev).rest_api.presence = GUARANTEED];
180 ERROR__NOT_CALIBRATED_MAG = 224 [(jaia.ev).rest_api.presence = GUARANTEED];
181 ERROR__NOT_CALIBRATED_IMU = 225 [(jaia.ev).rest_api.presence = GUARANTEED];
182
183 // TODO: IMPLEMENT
184 // from xbee driver
185 ERROR__COMMS__NO_XBEE = 300;
186
187 // from goby_moos_gateway
188 ERROR__MOOS__HELMIVP_STATE_NOT_DRIVE = 400
189 [(jaia.ev).rest_api.presence = GUARANTEED];
190 ERROR__MOOS__HELMIVP_NO_DESIRED_DATA = 401
191 [(jaia.ev).rest_api.presence = GUARANTEED];
192 ERROR__MOOS__NO_DATA = 402 [(jaia.ev).rest_api.presence = GUARANTEED];
193
194 // from jaiabot_health
195 ERROR__SYSTEM__CANNOT_READ_MEMINFO = 500
196 [(jaia.ev).rest_api.presence = GUARANTEED];
197 ERROR__SYSTEM__RAM_SPACE_CRITICAL = 501
198 [(jaia.ev).rest_api.presence = GUARANTEED];
199
200 ERROR__SYSTEM__CANNOT_READ_SYSINFO = 502
201 [(jaia.ev).rest_api.presence = GUARANTEED];
202 ERROR__SYSTEM__CPU_LOAD_FACTOR_CRITICAL = 503
203 [(jaia.ev).rest_api.presence = GUARANTEED];
204
205 ERROR__SYSTEM__CANNOT_READ_DISK_USAGE = 504
206 [(jaia.ev).rest_api.presence = GUARANTEED];
207 ERROR__SYSTEM__ROOTFS_DISK_SPACE_CRITICAL = 505
208 [(jaia.ev).rest_api.presence = GUARANTEED];
209 ERROR__SYSTEM__DATA_DISK_SPACE_CRITICAL = 506
210 [(jaia.ev).rest_api.presence = GUARANTEED];
211
212 ERROR__SYSTEM__NTP_PEERS_QUERY_FAILED = 510
213 [(jaia.ev).rest_api.presence = GUARANTEED];
214 ERROR__SYSTEM__NTP_STATUS_QUERY_FAILED = 511
215 [(jaia.ev).rest_api.presence = GUARANTEED];
216
217 ERROR__VEHICLE__VERY_LOW_BATTERY = 600
218 [(jaia.ev).rest_api.presence = GUARANTEED];
219 ERROR__VEHICLE__CRITICALLY_LOW_BATTERY = 601
220 [(jaia.ev).rest_api.presence = GUARANTEED];
221 ERROR__VEHICLE__MISSING_DATA_BATTERY = 602
222 [(jaia.ev).rest_api.presence = GUARANTEED];
223
224 // arduino driver
225 ERROR__VERSION__MISMATCH_ARDUINO = 700
226 [(jaia.ev).rest_api.presence = GUARANTEED];
227 ERROR__MISSING_DATA__ARDUINO_REPORT = 701
228 [(jaia.ev).rest_api.presence = GUARANTEED];
229 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_HUB = 702 [
230 (jaia.ev).rest_api.presence = GUARANTEED
231 ]; // INTERVEHICLE_API_VERSION_mismatch - hub version < bot_version OR this
232 // hub version < other hub version
233 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_BOT = 703 [
234 (jaia.ev).rest_api.presence = GUARANTEED
235 ]; // INTERVEHICLE_API_VERSION_mismatch - hub_version > bot_version
236 ERROR__ARDUINO_CONNECTION_FAILED = 704
237 [(jaia.ev).rest_api.presence = GUARANTEED];
238 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_OTHER_HUB = 705
239 [(jaia.ev).rest_api.presence =
240 GUARANTEED]; // INTERVEHICLE_API_VERSION_mismatch - other hub
241 // version < this hub version
242
243 // jaiabot_sensor
244 ERROR__INIT_FAILED__BLUE_ROBOTICS__BAR30 = 800
245 [(jaia.ev).rest_api.presence = GUARANTEED];
246 ERROR__MISSING_DATA__BLUEROBOTICS_BAR30_DATA = 801
247 [(jaia.ev).rest_api.presence = GUARANTEED];
248}
249
250enum Warning
251{
252 // from jaiabot_fusion
253 WARNING__TOO_MANY_WARNINGS_TO_REPORT_ALL = 0
254 [(jaia.ev).rest_api.presence = GUARANTEED];
255
256 // from jaiabot_coroner
257 WARNING__NOT_RESPONDING__UNKNOWN_APP = 100
258 [(jaia.ev).rest_api.presence = GUARANTEED];
259 WARNING__NOT_RESPONDING__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 101
260 [(jaia.ev).rest_api.presence = GUARANTEED];
261 WARNING__NOT_RESPONDING__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 102
262 [(jaia.ev).rest_api.presence = GUARANTEED];
263 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO055_DRIVER = 103
264 [(jaia.ev).rest_api.presence = GUARANTEED];
265 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO085_DRIVER = 104
266 [(jaia.ev).rest_api.presence = GUARANTEED];
267 WARNING__NOT_RESPONDING__JAIABOT_ECHO_DRIVER = 105
268 [(jaia.ev).rest_api.presence = GUARANTEED];
269 WARNING__NOT_RESPONDING__JAIABOT_TSYS01_TEMPERATURE_SENSOR_DRIVER = 106
270 [(jaia.ev).rest_api.presence = GUARANTEED];
271 WARNING__NOT_RESPONDING__JAIABOT_AML_SENSOR_DRIVER = 107
272 [(jaia.ev).rest_api.presence = GUARANTEED];
273
274 // from jaiabot_fusion
275 WARNING__MISSING_DATA__PITCH = 200
276 [(jaia.ev).rest_api.presence = GUARANTEED];
277 WARNING__MISSING_DATA__ROLL = 201
278 [(jaia.ev).rest_api.presence = GUARANTEED];
279 WARNING__MISSING_DATA__TEMPERATURE = 202
280 [(jaia.ev).rest_api.presence = GUARANTEED];
281 WARNING__MISSING_DATA__COURSE = 216
282 [(jaia.ev).rest_api.presence = GUARANTEED];
283 WARNING__NOT_CALIBRATED_SYS = 221
284 [(jaia.ev).rest_api.presence = GUARANTEED];
285 WARNING__IMU_ISSUE = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
286
287 // TODO: IMPLEMENT
288 WARNING__TEMPERATURE__ARDUINO_TOO_HIGH = 210
289 [(jaia.ev).rest_api.presence = GUARANTEED];
290 WARNING__TEMPERATURE__LINUX_TOO_HIGH = 211
291 [(jaia.ev).rest_api.presence = GUARANTEED];
292
293 // TODO: IMPLEMENT
294 // from xbee driver
295 WARNING__COMMS_LOW_SIGNAL_STRENGTH = 300
296 [(jaia.ev).rest_api.presence = GUARANTEED];
297
298 // from jaiabot_health
299 WARNING__VEHICLE__LOW_BATTERY = 400
300 [(jaia.ev).rest_api.presence = GUARANTEED];
301
302 WARNING__SYSTEM__NTP_NOT_SYNCHRONIZED = 500
303 [(jaia.ev).rest_api.presence = GUARANTEED];
304 WARNING__SYSTEM__NTP_OFFSET_HIGH = 501
305 [(jaia.ev).rest_api.presence = GUARANTEED];
306 WARNING__SYSTEM__NTP_JITTER_HIGH = 502
307 [(jaia.ev).rest_api.presence = GUARANTEED];
308 WARNING__SYSTEM__RAM_SPACE_LOW = 503
309 [(jaia.ev).rest_api.presence = GUARANTEED];
310 WARNING__SYSTEM__CPU_LOAD_FACTOR_HIGH = 504
311 [(jaia.ev).rest_api.presence = GUARANTEED];
312 WARNING__SYSTEM__ROOTFS_DISK_SPACE_LOW = 505
313 [(jaia.ev).rest_api.presence = GUARANTEED];
314 WARNING__SYSTEM__DATA_DISK_SPACE_LOW = 506
315 [(jaia.ev).rest_api.presence = GUARANTEED];
316
317 // from Motor Status Thread
318 WARNING__NOT_RESPONDING__JAIABOT_RPM_LISTENER = 600
319 [(jaia.ev).rest_api.presence = GUARANTEED];
320 WARNING__NOT_RESPONDING__JAIABOT_ARDUINO_MOTOR_TEMP = 601
321 [(jaia.ev).rest_api.presence = GUARANTEED];
322
323 // from jaiabot_mission_manager
324 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_MUST_HAVE_A_GOAL = 700
325 [(jaia.ev).rest_api.presence = GUARANTEED];
326 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_CANNOT_RECOVER_AT_FINAL_GOAL_WITHOUT_A_GOAL =
327 701 [(jaia.ev).rest_api.presence = GUARANTEED];
328 WARNING__MISSION__INFEASIBLE_MISSION__MUST_HAVE_RECOVERY_LOCATION_IF_NOT_RECOVERING_AT_FINAL_GOAL =
329 702 [(jaia.ev).rest_api.presence = GUARANTEED];
330 WARNING__MISSION__INFEASIBLE_MISSION__MINIMUM_BOTTOM_DEPTH_REACHED = 703
331 [(jaia.ev).rest_api.presence = GUARANTEED];
332 WARNING__MISSION__INFEASIBLE_MISSION__GOAL_DESIRED_DEPTH_EXCEEDED_MAX = 704
333 [(jaia.ev).rest_api.presence = GUARANTEED];
334 WARNING__VEHICLE__NO_FORWARD_PROGRESS = 705
335 [(jaia.ev).rest_api.presence = GUARANTEED];
336
337 WARNING__MISSION__DATA_OFFLOAD_FAILED = 720
338 [(jaia.ev).rest_api.presence = GUARANTEED];
339 WARNING__MISSION__DATA__GPS_FIX_DEGRADED = 721
340 [(jaia.ev).rest_api.presence = GUARANTEED];
341 WARNING__MISSION__DATA_PRE_OFFLOAD_FAILED = 722
342 [(jaia.ev).rest_api.presence = GUARANTEED];
343 WARNING__MISSION__DATA_POST_OFFLOAD_FAILED = 723
344 [(jaia.ev).rest_api.presence = GUARANTEED];
345
346 // from jaiabot_sensor
347
348 // from jaiabot_sensors
349 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_DO = 800
350 [(jaia.ev).rest_api.presence = GUARANTEED];
351 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_EC = 801
352 [(jaia.ev).rest_api.presence = GUARANTEED];
353 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_PH = 802
354 [(jaia.ev).rest_api.presence = GUARANTEED];
355 WARNING__INIT_FAILED__TURNER__C_FLUOR = 803
356 [(jaia.ev).rest_api.presence = GUARANTEED];
357 WARNING__MISSING_DATA__ATLAS_OEM_EC_DATA = 804
358 [(jaia.ev).rest_api.presence = GUARANTEED];
359 WARNING__MISSING_DATA__ATLAS_OEM_PH_DATA = 805
360 [(jaia.ev).rest_api.presence = GUARANTEED];
361 WARNING__MISSING_DATA__ATLAS_OEM_DO_DATA = 806
362 [(jaia.ev).rest_api.presence = GUARANTEED];
363 WARNING__MISSING_DATA__TURNER_C_FLUOR_DATA = 807
364 [(jaia.ev).rest_api.presence = GUARANTEED];
365 WARNING__MISSING_DATA__AML_DATA = 808
366 [(jaia.ev).rest_api.presence = GUARANTEED];
367 WARNING__INIT_FAILED__AML = 809 [(jaia.ev).rest_api.presence = GUARANTEED];
368}
369
370message LinuxHardwareStatus
371{
372 option (dccl.msg) = {
373 unit_system: "si"
374 };
375
376 message Processor
377 {
378 // from sysinfo
379 message LoadAverages
380 {
381 required float one_min = 1;
382 required float five_min = 2;
383 required float fifteen_min = 3;
384 }
385 optional LoadAverages loads = 10;
386
387 optional int32 num_processes = 15;
388
389 // from nproc
390 optional int32 num_processors = 20;
391 }
392
393 message Information
394 {
395 required uint64 total = 1 [(dccl.field) = {
396 units { prefix: "kilo" unit: "information::byte" }
397 }];
398 required uint64 available = 2 [(dccl.field) = {
399 units { prefix: "kilo" unit: "information::byte" }
400 }];
401 required float use_percent = 3;
402 }
403
404 message Memory
405 {
406 // from sysinfo
407 required Information ram = 1;
408 required Information swap = 2;
409 }
410
411 message Disk
412 {
413 // from boost filesystem
414 optional Information rootfs = 1;
415 optional Information data = 2;
416 }
417
418 message WiFi
419 {
420 required bool is_connected = 1;
421 optional uint32 link_quality = 2;
422 optional uint32 link_quality_percentage = 3;
423 optional int32 signal_level = 4;
424 optional int32 noise_level = 5;
425 }
426
427 optional int32 uptime = 10
428 [(dccl.field) = { units { base_dimensions: "T" } }];
429 optional Processor processor = 20;
430 optional Memory memory = 30;
431 optional Disk disk = 40;
432 optional WiFi wifi = 50;
433}
434
435message NTPStatus
436{
437 option (dccl.msg) = {
438 unit_system: "si"
439 };
440 // from ntpq -c rv 0
441 enum SyncSource
442 {
443 SYNC_UNKNOWN = -1;
444 SYNC_UNSPECIFIED = 0;
445 SYNC_PPS = 1;
446 SYNC_LF_RADIO = 2;
447 SYNC_HF_RADIO = 3;
448 SYNC_UHF_RADIO = 4;
449 SYNC_LOCAL = 5;
450 SYNC_NTP = 6;
451 SYNC_OTHER = 7;
452 SYNC_WRISTWATCH = 8;
453 SYNC_TELEPHONE = 9;
454 }
455
456 optional SyncSource sync_source = 10 [default = SYNC_UNKNOWN];
457
458 enum LeapIndicator
459 {
460 LEAP_UNKNOWN = -1;
461 LEAP_NONE = 0x00;
462 LEAP_LAST_MINUTE_HAS_61_SECONDS = 0x01;
463 LEAP_LAST_MINUTE_HAS_59_SECONDS = 0x02;
464 LEAP_CLOCK_NOT_SYNCHRONIZED = 0x03;
465 }
466 optional LeapIndicator leap_indicator = 11 [default = LEAP_UNKNOWN];
467 optional int32 system_event_counter = 12 [default = 0];
468 enum NTPSystemEvent
469 {
470 NTP_SYSTEM_EVENT_UNKNOWN = -1;
471 NTP_SYSTEM_EVENT_UNSPECIFIED = 0x0;
472 NTP_SYSTEM_FREQ_NOT_SET = 0x1;
473 NTP_SYSTEM_FREQ_SET = 0x2;
474 NTP_SYSTEM_SPIKE_DETECT = 0x3;
475 NTP_SYSTEM_FREQ_MODE = 0x4;
476 NTP_SYSTEM_CLOCK_SYNC = 0x5;
477 NTP_SYSTEM_RESTART = 0x6;
478 NTP_SYSTEM_PANIC_STOP = 0x7;
479 NTP_SYSTEM_NO_SYSTEM_PEER = 0x8;
480 NTP_SYSTEM_LEAP_ARMED = 0x9;
481 NTP_SYSTEM_LEAP_DISARMED = 0xa;
482 NTP_SYSTEM_LEAP_EVENT = 0xb;
483 NTP_SYSTEM_CLOCK_STEP = 0xc;
484 NTP_SYSTEM_KERNEL_INFO = 0xd;
485 NTP_SYSTEM_LEAPSECOND_VALUES_UPDATE_FROM_FILE = 0xe;
486 NTP_SYSTEM_STALE_LEAPSECOND_VALUES = 0xf;
487 }
488 optional NTPSystemEvent last_system_event = 13
489 [default = NTP_SYSTEM_EVENT_UNKNOWN];
490
491 // from ntpq -p
492 message NTPPeer
493 {
494 enum TallyCode
495 {
496 PEER_CODE_UNKNOWN = -1;
497 PEER_NOT_VALID = 0x20; // ' '
498 PEER_DISCARDED_BY_INTERSECTION = 0x78; // 'x'
499 PEER_DISCARDED_BY_TABLE_OVERFLOW = 0x2E; // '.'
500 PEER_DISCARDED_BY_CLUSTER_ALGORITHM = 0x2D; // '-'
501 PEER_INCLUDED_IN_COMBINE = 0x2B; // '+'
502 PEER_ALTERNATIVE_BACKUP = 0x23; // '#'
503 PEER_SYSTEM_SYNC_SOURCE = 0x2A; // '*'
504 PEER_PPS_SYNC = 0x6F; // 'o'
505 }
506
507 required TallyCode tally_code = 1 [default = PEER_CODE_UNKNOWN];
508 required string remote = 2;
509 required string refid = 3;
510 optional int32 stratum = 4 [default = 16];
511 optional int32 when = 5
512 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
513 optional int32 poll = 6
514 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
515 // bitmask
516 optional int32 reach = 7 [default = 0];
517 optional float delay = 8 [
518 default = nan,
519 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
520 ];
521 optional float offset = 9 [
522 default = nan,
523 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
524 ];
525 optional float jitter = 10 [
526 default = nan,
527 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
528 ];
529 }
530 optional NTPPeer system_sync_peer = 20;
531 repeated NTPPeer peer = 21;
532}
533
534message HelmIVPStatus
535{
536 option (dccl.msg) = {
537 unit_system: "si"
538 };
539 optional string helm_ivp_state = 1 [default = "PARK"];
540 optional bool helm_ivp_desired_speed = 2 [default = false];
541 optional bool helm_ivp_desired_heading = 3 [default = false];
542 optional bool helm_ivp_desired_depth = 4 [default = false];
543 optional bool helm_ivp_data = 5 [default = false];
544}
545
546message ThreadHealth
547{
548 repeated Error error = 1;
549 repeated Warning warning = 2;
550}
551
552extend goby.middleware.protobuf.ThreadHealth
553{
554 optional ThreadHealth jaiabot_thread = 1000;
555}
556
557message VehicleHealth {}
558
559extend goby.middleware.protobuf.VehicleHealth
560{
561 optional VehicleHealth jaiabot_vehicle = 1000;
562}
563
564message SystemdStartReport
565{
566 required Error clear_error =
567 1; // the corresponding ERROR__FAILED__* to clear (if exists)
568}
569
570message SystemdStopReport
571{
572 enum ServiceResult
573 {
574 SERVICE_RESULT_UNKNOWN = 0;
575 SERVICE_RESULT_SUCCESS = 1;
576 SERVICE_RESULT_PROTOCOL = 2;
577 SERVICE_RESULT_TIMEOUT = 3;
578 SERVICE_RESULT_EXIT_CODE = 4;
579 SERVICE_RESULT_SIGNAL = 5;
580 SERVICE_RESULT_CORE_DUMP = 6;
581 SERVICE_RESULT_WATCHDOG = 7;
582 SERVICE_RESULT_START_LIMIT_HIT = 8;
583 SERVICE_RESULT_RESOURCES = 9;
584 }
585 required ServiceResult result = 1;
586 required Error error = 2; // the corresponding ERROR__FAILED__*
587 optional string journal_dump_file =
588 3; // if failed, the journal snippet from last boot was written here
589}
590
591message SystemdReportAck
592{
593 required Error error_ack =
594 1; // which app this relates to, by its corresponding error value
595}