3 import "dccl/option_extensions.proto";
4 import "goby/middleware/protobuf/coroner.proto";
5 import "jaiabot/messages/option_extensions.proto";
7 package jaiabot.protobuf;
11 // from jaiabot_fusion
12 ERROR__TOO_MANY_ERRORS_TO_REPORT_ALL = 0
13 [(jaia.ev).rest_api.presence = GUARANTEED];
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__NOT_RESPONDING__JAIABOT_DRIVER_CAMERA = 41
90 [(jaia.ev).rest_api.presence = GUARANTEED];
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];
147 // from jaiabot_fusion
148 ERROR__MISSING_DATA__GPS_FIX = 200
149 [(jaia.ev).rest_api.presence = GUARANTEED];
150 ERROR__MISSING_DATA__GPS_POSITION = 201
151 [(jaia.ev).rest_api.presence = GUARANTEED];
152 ERROR__MISSING_DATA__PRESSURE = 210
153 [(jaia.ev).rest_api.presence = GUARANTEED];
154 ERROR__MISSING_DATA__HEADING = 212
155 [(jaia.ev).rest_api.presence = GUARANTEED];
156 ERROR__MISSING_DATA__SPEED = 215 [(jaia.ev).rest_api.presence = GUARANTEED];
157 ERROR__MISSING_DATA__COURSE = 216
158 [(jaia.ev).rest_api.presence = GUARANTEED];
159 ERROR__MISSING_DATA__CALIBRATION_SYS = 217
160 [(jaia.ev).rest_api.presence = GUARANTEED];
161 ERROR__MISSING_DATA__CALIBRATION_GYRO = 218
162 [(jaia.ev).rest_api.presence = GUARANTEED];
163 ERROR__MISSING_DATA__CALIBRATION_ACCEL = 219
164 [(jaia.ev).rest_api.presence = GUARANTEED];
165 ERROR__MISSING_DATA__CALIBRATION_MAG = 220
166 [(jaia.ev).rest_api.presence = GUARANTEED];
167 ERROR__NOT_CALIBRATED_SYS = 221 [(jaia.ev).rest_api.presence = GUARANTEED];
168 ERROR__NOT_CALIBRATED_GYRO = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
169 ERROR__NOT_CALIBRATED_ACCEL = 223
170 [(jaia.ev).rest_api.presence = GUARANTEED];
171 ERROR__NOT_CALIBRATED_MAG = 224 [(jaia.ev).rest_api.presence = GUARANTEED];
172 ERROR__NOT_CALIBRATED_IMU = 225 [(jaia.ev).rest_api.presence = GUARANTEED];
176 ERROR__COMMS__NO_XBEE = 300;
178 // from goby_moos_gateway
179 ERROR__MOOS__HELMIVP_STATE_NOT_DRIVE = 400
180 [(jaia.ev).rest_api.presence = GUARANTEED];
181 ERROR__MOOS__HELMIVP_NO_DESIRED_DATA = 401
182 [(jaia.ev).rest_api.presence = GUARANTEED];
183 ERROR__MOOS__NO_DATA = 402 [(jaia.ev).rest_api.presence = GUARANTEED];
185 // from jaiabot_health
186 ERROR__SYSTEM__CANNOT_READ_MEMINFO = 500
187 [(jaia.ev).rest_api.presence = GUARANTEED];
188 ERROR__SYSTEM__RAM_SPACE_CRITICAL = 501
189 [(jaia.ev).rest_api.presence = GUARANTEED];
191 ERROR__SYSTEM__CANNOT_READ_SYSINFO = 502
192 [(jaia.ev).rest_api.presence = GUARANTEED];
193 ERROR__SYSTEM__CPU_LOAD_FACTOR_CRITICAL = 503
194 [(jaia.ev).rest_api.presence = GUARANTEED];
196 ERROR__SYSTEM__CANNOT_READ_DISK_USAGE = 504
197 [(jaia.ev).rest_api.presence = GUARANTEED];
198 ERROR__SYSTEM__ROOTFS_DISK_SPACE_CRITICAL = 505
199 [(jaia.ev).rest_api.presence = GUARANTEED];
200 ERROR__SYSTEM__DATA_DISK_SPACE_CRITICAL = 506
201 [(jaia.ev).rest_api.presence = GUARANTEED];
203 ERROR__SYSTEM__NTP_PEERS_QUERY_FAILED = 510
204 [(jaia.ev).rest_api.presence = GUARANTEED];
205 ERROR__SYSTEM__NTP_STATUS_QUERY_FAILED = 511
206 [(jaia.ev).rest_api.presence = GUARANTEED];
208 ERROR__VEHICLE__VERY_LOW_BATTERY = 600
209 [(jaia.ev).rest_api.presence = GUARANTEED];
210 ERROR__VEHICLE__CRITICALLY_LOW_BATTERY = 601
211 [(jaia.ev).rest_api.presence = GUARANTEED];
212 ERROR__VEHICLE__MISSING_DATA_BATTERY = 602
213 [(jaia.ev).rest_api.presence = GUARANTEED];
216 ERROR__VERSION__MISMATCH_ARDUINO = 700
217 [(jaia.ev).rest_api.presence = GUARANTEED];
218 ERROR__MISSING_DATA__ARDUINO_REPORT = 701
219 [(jaia.ev).rest_api.presence = GUARANTEED];
220 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_HUB = 702 [
221 (jaia.ev).rest_api.presence = GUARANTEED
222 ]; // INTERVEHICLE_API_VERSION_mismatch - hub version < bot_version
223 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_BOT = 703 [
224 (jaia.ev).rest_api.presence = GUARANTEED
225 ]; // INTERVEHICLE_API_VERSION_mismatch - hub_version > bot_version
226 ERROR__ARDUINO_CONNECTION_FAILED = 704
227 [(jaia.ev).rest_api.presence = GUARANTEED];
230 ERROR__INIT_FAILED__BLUE_ROBOTICS__BAR30 = 800
231 [(jaia.ev).rest_api.presence = GUARANTEED];
232 ERROR__MISSING_DATA__BLUEROBOTICS_BAR30_DATA = 801
233 [(jaia.ev).rest_api.presence = GUARANTEED];
238 // from jaiabot_fusion
239 WARNING__TOO_MANY_WARNINGS_TO_REPORT_ALL = 0
240 [(jaia.ev).rest_api.presence = GUARANTEED];
242 // from jaiabot_coroner
243 WARNING__NOT_RESPONDING__UNKNOWN_APP = 100
244 [(jaia.ev).rest_api.presence = GUARANTEED];
245 WARNING__NOT_RESPONDING__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 101
246 [(jaia.ev).rest_api.presence = GUARANTEED];
247 WARNING__NOT_RESPONDING__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 102
248 [(jaia.ev).rest_api.presence = GUARANTEED];
249 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO055_DRIVER = 103
250 [(jaia.ev).rest_api.presence = GUARANTEED];
251 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO085_DRIVER = 104
252 [(jaia.ev).rest_api.presence = GUARANTEED];
253 WARNING__NOT_RESPONDING__JAIABOT_ECHO_DRIVER = 105
254 [(jaia.ev).rest_api.presence = GUARANTEED];
255 WARNING__NOT_RESPONDING__JAIABOT_TSYS01_TEMPERATURE_SENSOR_DRIVER = 106
256 [(jaia.ev).rest_api.presence = GUARANTEED];
258 // from jaiabot_fusion
259 WARNING__MISSING_DATA__PITCH = 200
260 [(jaia.ev).rest_api.presence = GUARANTEED];
261 WARNING__MISSING_DATA__ROLL = 201
262 [(jaia.ev).rest_api.presence = GUARANTEED];
263 WARNING__MISSING_DATA__TEMPERATURE = 202
264 [(jaia.ev).rest_api.presence = GUARANTEED];
265 WARNING__MISSING_DATA__COURSE = 216
266 [(jaia.ev).rest_api.presence = GUARANTEED];
267 WARNING__NOT_CALIBRATED_SYS = 221
268 [(jaia.ev).rest_api.presence = GUARANTEED];
269 WARNING__IMU_ISSUE = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
272 WARNING__TEMPERATURE__ARDUINO_TOO_HIGH = 210
273 [(jaia.ev).rest_api.presence = GUARANTEED];
274 WARNING__TEMPERATURE__LINUX_TOO_HIGH = 211
275 [(jaia.ev).rest_api.presence = GUARANTEED];
279 WARNING__COMMS_LOW_SIGNAL_STRENGTH = 300
280 [(jaia.ev).rest_api.presence = GUARANTEED];
282 // from jaiabot_health
283 WARNING__VEHICLE__LOW_BATTERY = 400
284 [(jaia.ev).rest_api.presence = GUARANTEED];
286 WARNING__SYSTEM__NTP_NOT_SYNCHRONIZED = 500
287 [(jaia.ev).rest_api.presence = GUARANTEED];
288 WARNING__SYSTEM__NTP_OFFSET_HIGH = 501
289 [(jaia.ev).rest_api.presence = GUARANTEED];
290 WARNING__SYSTEM__NTP_JITTER_HIGH = 502
291 [(jaia.ev).rest_api.presence = GUARANTEED];
292 WARNING__SYSTEM__RAM_SPACE_LOW = 503
293 [(jaia.ev).rest_api.presence = GUARANTEED];
294 WARNING__SYSTEM__CPU_LOAD_FACTOR_HIGH = 504
295 [(jaia.ev).rest_api.presence = GUARANTEED];
296 WARNING__SYSTEM__ROOTFS_DISK_SPACE_LOW = 505
297 [(jaia.ev).rest_api.presence = GUARANTEED];
298 WARNING__SYSTEM__DATA_DISK_SPACE_LOW = 506
299 [(jaia.ev).rest_api.presence = GUARANTEED];
301 // from Motor Status Thread
302 WARNING__NOT_RESPONDING__JAIABOT_RPM_LISTENER = 600
303 [(jaia.ev).rest_api.presence = GUARANTEED];
304 WARNING__NOT_RESPONDING__JAIABOT_ARDUINO_MOTOR_TEMP = 601
305 [(jaia.ev).rest_api.presence = GUARANTEED];
307 // from jaiabot_mission_manager
308 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_MUST_HAVE_A_GOAL = 700
309 [(jaia.ev).rest_api.presence = GUARANTEED];
310 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_CANNOT_RECOVER_AT_FINAL_GOAL_WITHOUT_A_GOAL =
311 701 [(jaia.ev).rest_api.presence = GUARANTEED];
312 WARNING__MISSION__INFEASIBLE_MISSION__MUST_HAVE_RECOVERY_LOCATION_IF_NOT_RECOVERING_AT_FINAL_GOAL =
313 702 [(jaia.ev).rest_api.presence = GUARANTEED];
314 WARNING__MISSION__INFEASIBLE_MISSION__MINIMUM_BOTTOM_DEPTH_REACHED = 703
315 [(jaia.ev).rest_api.presence = GUARANTEED];
316 WARNING__MISSION__INFEASIBLE_MISSION__GOAL_DESIRED_DEPTH_EXCEEDED_MAX = 704
317 [(jaia.ev).rest_api.presence = GUARANTEED];
318 WARNING__VEHICLE__NO_FORWARD_PROGRESS = 705
319 [(jaia.ev).rest_api.presence = GUARANTEED];
321 WARNING__MISSION__DATA_OFFLOAD_FAILED = 720
322 [(jaia.ev).rest_api.presence = GUARANTEED];
323 WARNING__MISSION__DATA__GPS_FIX_DEGRADED = 721
324 [(jaia.ev).rest_api.presence = GUARANTEED];
325 WARNING__MISSION__DATA_PRE_OFFLOAD_FAILED = 722
326 [(jaia.ev).rest_api.presence = GUARANTEED];
327 WARNING__MISSION__DATA_POST_OFFLOAD_FAILED = 723
328 [(jaia.ev).rest_api.presence = GUARANTEED];
330 // from jaiabot_sensor
333 // from jaiabot_sensors
334 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_DO = 800
335 [(jaia.ev).rest_api.presence = GUARANTEED];
336 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_EC = 801
337 [(jaia.ev).rest_api.presence = GUARANTEED];
338 WARNING__INIT_FAILED__ATLAS_SCIENTIFIC__OEM_PH = 802
339 [(jaia.ev).rest_api.presence = GUARANTEED];
340 WARNING__INIT_FAILED__TURNER__C_FLUOR = 803
341 [(jaia.ev).rest_api.presence = GUARANTEED];
343 WARNING__MISSING_DATA__ATLAS_OEM_EC_DATA = 804
344 [(jaia.ev).rest_api.presence = GUARANTEED];
345 WARNING__MISSING_DATA__ATLAS_OEM_PH_DATA = 805
346 [(jaia.ev).rest_api.presence = GUARANTEED];
347 WARNING__MISSING_DATA__ATLAS_OEM_DO_DATA = 806
348 [(jaia.ev).rest_api.presence = GUARANTEED];
349 WARNING__MISSING_DATA__TURNER_C_FLUOR_DATA = 807
350 [(jaia.ev).rest_api.presence = GUARANTEED];
353 message LinuxHardwareStatus
355 option (dccl.msg) = {
364 required float one_min = 1;
365 required float five_min = 2;
366 required float fifteen_min = 3;
368 optional LoadAverages loads = 10;
370 optional int32 num_processes = 15;
373 optional int32 num_processors = 20;
378 required uint64 total = 1 [(dccl.field) = {
379 units { prefix: "kilo" unit: "information::byte" }
381 required uint64 available = 2 [(dccl.field) = {
382 units { prefix: "kilo" unit: "information::byte" }
384 required float use_percent = 3;
390 required Information ram = 1;
391 required Information swap = 2;
396 // from boost filesystem
397 optional Information rootfs = 1;
398 optional Information data = 2;
403 required bool is_connected = 1;
404 optional uint32 link_quality = 2;
405 optional uint32 link_quality_percentage = 3;
406 optional int32 signal_level = 4;
407 optional int32 noise_level = 5;
410 optional int32 uptime = 10
411 [(dccl.field) = { units { base_dimensions: "T" } }];
412 optional Processor processor = 20;
413 optional Memory memory = 30;
414 optional Disk disk = 40;
415 optional WiFi wifi = 50;
420 option (dccl.msg) = {
427 SYNC_UNSPECIFIED = 0;
439 optional SyncSource sync_source = 10 [default = SYNC_UNKNOWN];
445 LEAP_LAST_MINUTE_HAS_61_SECONDS = 0x01;
446 LEAP_LAST_MINUTE_HAS_59_SECONDS = 0x02;
447 LEAP_CLOCK_NOT_SYNCHRONIZED = 0x03;
449 optional LeapIndicator leap_indicator = 11 [default = LEAP_UNKNOWN];
450 optional int32 system_event_counter = 12 [default = 0];
453 NTP_SYSTEM_EVENT_UNKNOWN = -1;
454 NTP_SYSTEM_EVENT_UNSPECIFIED = 0x0;
455 NTP_SYSTEM_FREQ_NOT_SET = 0x1;
456 NTP_SYSTEM_FREQ_SET = 0x2;
457 NTP_SYSTEM_SPIKE_DETECT = 0x3;
458 NTP_SYSTEM_FREQ_MODE = 0x4;
459 NTP_SYSTEM_CLOCK_SYNC = 0x5;
460 NTP_SYSTEM_RESTART = 0x6;
461 NTP_SYSTEM_PANIC_STOP = 0x7;
462 NTP_SYSTEM_NO_SYSTEM_PEER = 0x8;
463 NTP_SYSTEM_LEAP_ARMED = 0x9;
464 NTP_SYSTEM_LEAP_DISARMED = 0xa;
465 NTP_SYSTEM_LEAP_EVENT = 0xb;
466 NTP_SYSTEM_CLOCK_STEP = 0xc;
467 NTP_SYSTEM_KERNEL_INFO = 0xd;
468 NTP_SYSTEM_LEAPSECOND_VALUES_UPDATE_FROM_FILE = 0xe;
469 NTP_SYSTEM_STALE_LEAPSECOND_VALUES = 0xf;
471 optional NTPSystemEvent last_system_event = 13
472 [default = NTP_SYSTEM_EVENT_UNKNOWN];
479 PEER_CODE_UNKNOWN = -1;
480 PEER_NOT_VALID = 0x20; // ' '
481 PEER_DISCARDED_BY_INTERSECTION = 0x78; // 'x'
482 PEER_DISCARDED_BY_TABLE_OVERFLOW = 0x2E; // '.'
483 PEER_DISCARDED_BY_CLUSTER_ALGORITHM = 0x2D; // '-'
484 PEER_INCLUDED_IN_COMBINE = 0x2B; // '+'
485 PEER_ALTERNATIVE_BACKUP = 0x23; // '#'
486 PEER_SYSTEM_SYNC_SOURCE = 0x2A; // '*'
487 PEER_PPS_SYNC = 0x6F; // 'o'
490 required TallyCode tally_code = 1 [default = PEER_CODE_UNKNOWN];
491 required string remote = 2;
492 required string refid = 3;
493 optional int32 stratum = 4 [default = 16];
494 optional int32 when = 5
495 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
496 optional int32 poll = 6
497 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
499 optional int32 reach = 7 [default = 0];
500 optional float delay = 8 [
502 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
504 optional float offset = 9 [
506 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
508 optional float jitter = 10 [
510 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
513 optional NTPPeer system_sync_peer = 20;
514 repeated NTPPeer peer = 21;
517 message HelmIVPStatus
519 option (dccl.msg) = {
522 optional string helm_ivp_state = 1 [default = "PARK"];
523 optional bool helm_ivp_desired_speed = 2 [default = false];
524 optional bool helm_ivp_desired_heading = 3 [default = false];
525 optional bool helm_ivp_desired_depth = 4 [default = false];
526 optional bool helm_ivp_data = 5 [default = false];
531 repeated Error error = 1;
532 repeated Warning warning = 2;
535 extend goby.middleware.protobuf.ThreadHealth
537 optional ThreadHealth jaiabot_thread = 1000;
540 message VehicleHealth {}
542 extend goby.middleware.protobuf.VehicleHealth
544 optional VehicleHealth jaiabot_vehicle = 1000;
547 message SystemdStartReport
549 required Error clear_error =
550 1; // the corresponding ERROR__FAILED__* to clear (if exists)
553 message SystemdStopReport
557 SERVICE_RESULT_UNKNOWN = 0;
558 SERVICE_RESULT_SUCCESS = 1;
559 SERVICE_RESULT_PROTOCOL = 2;
560 SERVICE_RESULT_TIMEOUT = 3;
561 SERVICE_RESULT_EXIT_CODE = 4;
562 SERVICE_RESULT_SIGNAL = 5;
563 SERVICE_RESULT_CORE_DUMP = 6;
564 SERVICE_RESULT_WATCHDOG = 7;
565 SERVICE_RESULT_START_LIMIT_HIT = 8;
566 SERVICE_RESULT_RESOURCES = 9;
568 required ServiceResult result = 1;
569 required Error error = 2; // the corresponding ERROR__FAILED__*
570 optional string journal_dump_file =
571 3; // if failed, the journal snippet from last boot was written here
574 message SystemdReportAck
576 required Error error_ack =
577 1; // which app this relates to, by its corresponding error value