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