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];
83 // must be "ERROR__NOT_RESPONDING__" + uppercase(application name)
84 ERROR__NOT_RESPONDING__UNKNOWN_APP = 100
85 [(jaia.ev).rest_api.presence = GUARANTEED];
86 ERROR__NOT_RESPONDING__GOBYD = 101
87 [(jaia.ev).rest_api.presence = GUARANTEED];
88 ERROR__NOT_RESPONDING__GOBY_LIAISON = 102
89 [(jaia.ev).rest_api.presence = GUARANTEED];
90 ERROR__NOT_RESPONDING__GOBY_GPS = 103
91 [(jaia.ev).rest_api.presence = GUARANTEED];
92 ERROR__NOT_RESPONDING__GOBY_LOGGER = 104
93 [(jaia.ev).rest_api.presence = GUARANTEED];
94 ERROR__NOT_RESPONDING__GOBY_CORONER = 105
95 [(jaia.ev).rest_api.presence = GUARANTEED];
96 ERROR__NOT_RESPONDING__JAIABOT_HEALTH = 106
97 [(jaia.ev).rest_api.presence = GUARANTEED];
98 ERROR__NOT_RESPONDING__JAIABOT_METADATA = 107
99 [(jaia.ev).rest_api.presence = GUARANTEED];
100 ERROR__NOT_RESPONDING__JAIABOT_HUB_MANAGER = 108
101 [(jaia.ev).rest_api.presence = GUARANTEED];
102 ERROR__NOT_RESPONDING__JAIABOT_WEB_PORTAL = 109
103 [(jaia.ev).rest_api.presence = GUARANTEED];
104 ERROR__NOT_RESPONDING__JAIABOT_FUSION = 110
105 [(jaia.ev).rest_api.presence = GUARANTEED];
106 ERROR__NOT_RESPONDING__GOBY_MOOS_GATEWAY = 111
107 [(jaia.ev).rest_api.presence = GUARANTEED];
108 ERROR__NOT_RESPONDING__JAIABOT_MISSION_MANAGER = 112
109 [(jaia.ev).rest_api.presence = GUARANTEED];
110 ERROR__NOT_RESPONDING__JAIABOT_PID_CONTROL = 113
111 [(jaia.ev).rest_api.presence = GUARANTEED];
112 ERROR__NOT_RESPONDING__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 114
113 [(jaia.ev).rest_api.presence = GUARANTEED];
114 ERROR__NOT_RESPONDING__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 115
115 [(jaia.ev).rest_api.presence = GUARANTEED];
116 ERROR__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO055_DRIVER = 116
117 [(jaia.ev).rest_api.presence = GUARANTEED];
118 ERROR__NOT_RESPONDING__JAIABOT_DRIVER_ARDUINO = 117
119 [(jaia.ev).rest_api.presence = GUARANTEED];
120 ERROR__NOT_RESPONDING__JAIABOT_ENGINEERING = 118
121 [(jaia.ev).rest_api.presence = GUARANTEED];
122 ERROR__NOT_RESPONDING__JAIABOT_SINGLE_THREAD_PATTERN = 119
123 [(jaia.ev).rest_api.presence = GUARANTEED];
124 ERROR__NOT_RESPONDING__JAIABOT_MULTI_THREAD_PATTERN = 120
125 [(jaia.ev).rest_api.presence = GUARANTEED];
126 ERROR__NOT_RESPONDING__JAIABOT_SIMULATOR = 121
127 [(jaia.ev).rest_api.presence = GUARANTEED];
128 ERROR__NOT_RESPONDING__GOBY_INTERVEHICLE_PORTAL = 122
129 [(jaia.ev).rest_api.presence = GUARANTEED];
130 ERROR__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO085_DRIVER = 123
131 [(jaia.ev).rest_api.presence = GUARANTEED];
132 ERROR__NOT_RESPONDING__JAIABOT_ECHO_DRIVER = 124
133 [(jaia.ev).rest_api.presence = GUARANTEED];
135 // from jaiabot_fusion
136 ERROR__MISSING_DATA__GPS_FIX = 200
137 [(jaia.ev).rest_api.presence = GUARANTEED];
138 ERROR__MISSING_DATA__GPS_POSITION = 201
139 [(jaia.ev).rest_api.presence = GUARANTEED];
140 ERROR__MISSING_DATA__PRESSURE = 210
141 [(jaia.ev).rest_api.presence = GUARANTEED];
142 ERROR__MISSING_DATA__HEADING = 212
143 [(jaia.ev).rest_api.presence = GUARANTEED];
144 ERROR__MISSING_DATA__SPEED = 215 [(jaia.ev).rest_api.presence = GUARANTEED];
145 ERROR__MISSING_DATA__COURSE = 216
146 [(jaia.ev).rest_api.presence = GUARANTEED];
147 ERROR__MISSING_DATA__CALIBRATION_SYS = 217
148 [(jaia.ev).rest_api.presence = GUARANTEED];
149 ERROR__MISSING_DATA__CALIBRATION_GYRO = 218
150 [(jaia.ev).rest_api.presence = GUARANTEED];
151 ERROR__MISSING_DATA__CALIBRATION_ACCEL = 219
152 [(jaia.ev).rest_api.presence = GUARANTEED];
153 ERROR__MISSING_DATA__CALIBRATION_MAG = 220
154 [(jaia.ev).rest_api.presence = GUARANTEED];
155 ERROR__NOT_CALIBRATED_SYS = 221 [(jaia.ev).rest_api.presence = GUARANTEED];
156 ERROR__NOT_CALIBRATED_GYRO = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
157 ERROR__NOT_CALIBRATED_ACCEL = 223
158 [(jaia.ev).rest_api.presence = GUARANTEED];
159 ERROR__NOT_CALIBRATED_MAG = 224 [(jaia.ev).rest_api.presence = GUARANTEED];
160 ERROR__NOT_CALIBRATED_IMU = 225 [(jaia.ev).rest_api.presence = GUARANTEED];
164 ERROR__COMMS__NO_XBEE = 300;
166 // from goby_moos_gateway
167 ERROR__MOOS__HELMIVP_STATE_NOT_DRIVE = 400
168 [(jaia.ev).rest_api.presence = GUARANTEED];
169 ERROR__MOOS__HELMIVP_NO_DESIRED_DATA = 401
170 [(jaia.ev).rest_api.presence = GUARANTEED];
171 ERROR__MOOS__NO_DATA = 402 [(jaia.ev).rest_api.presence = GUARANTEED];
173 // from jaiabot_health
174 ERROR__SYSTEM__CANNOT_READ_MEMINFO = 500
175 [(jaia.ev).rest_api.presence = GUARANTEED];
176 ERROR__SYSTEM__RAM_SPACE_CRITICAL = 501
177 [(jaia.ev).rest_api.presence = GUARANTEED];
179 ERROR__SYSTEM__CANNOT_READ_SYSINFO = 502
180 [(jaia.ev).rest_api.presence = GUARANTEED];
181 ERROR__SYSTEM__CPU_LOAD_FACTOR_CRITICAL = 503
182 [(jaia.ev).rest_api.presence = GUARANTEED];
184 ERROR__SYSTEM__CANNOT_READ_DISK_USAGE = 504
185 [(jaia.ev).rest_api.presence = GUARANTEED];
186 ERROR__SYSTEM__ROOTFS_DISK_SPACE_CRITICAL = 505
187 [(jaia.ev).rest_api.presence = GUARANTEED];
188 ERROR__SYSTEM__DATA_DISK_SPACE_CRITICAL = 506
189 [(jaia.ev).rest_api.presence = GUARANTEED];
191 ERROR__SYSTEM__NTP_PEERS_QUERY_FAILED = 510
192 [(jaia.ev).rest_api.presence = GUARANTEED];
193 ERROR__SYSTEM__NTP_STATUS_QUERY_FAILED = 511
194 [(jaia.ev).rest_api.presence = GUARANTEED];
196 ERROR__VEHICLE__VERY_LOW_BATTERY = 600
197 [(jaia.ev).rest_api.presence = GUARANTEED];
198 ERROR__VEHICLE__CRITICALLY_LOW_BATTERY = 601
199 [(jaia.ev).rest_api.presence = GUARANTEED];
200 ERROR__VEHICLE__MISSING_DATA_BATTERY = 602
201 [(jaia.ev).rest_api.presence = GUARANTEED];
204 ERROR__VERSION__MISMATCH_ARDUINO = 700
205 [(jaia.ev).rest_api.presence = GUARANTEED];
206 ERROR__MISSING_DATA__ARDUINO_REPORT = 701
207 [(jaia.ev).rest_api.presence = GUARANTEED];
208 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_HUB = 702 [
209 (jaia.ev).rest_api.presence = GUARANTEED
210 ]; // INTERVEHICLE_API_VERSION_mismatch - hub version < bot_version
211 ERROR__VERSION__MISMATCH_INTERVEHICLE__UPGRADE_BOT = 703 [
212 (jaia.ev).rest_api.presence = GUARANTEED
213 ]; // INTERVEHICLE_API_VERSION_mismatch - hub_version > bot_version
214 ERROR__ARDUINO_CONNECTION_FAILED = 704
215 [(jaia.ev).rest_api.presence = GUARANTEED];
220 // from jaiabot_fusion
221 WARNING__TOO_MANY_WARNINGS_TO_REPORT_ALL = 0
222 [(jaia.ev).rest_api.presence = GUARANTEED];
224 // from jaiabot_coroner
225 WARNING__NOT_RESPONDING__UNKNOWN_APP = 100
226 [(jaia.ev).rest_api.presence = GUARANTEED];
227 WARNING__NOT_RESPONDING__JAIABOT_ATLAS_SCIENTIFIC_EZO_EC_DRIVER = 101
228 [(jaia.ev).rest_api.presence = GUARANTEED];
229 WARNING__NOT_RESPONDING__JAIABOT_BLUEROBOTICS_PRESSURE_SENSOR_DRIVER = 102
230 [(jaia.ev).rest_api.presence = GUARANTEED];
231 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO055_DRIVER = 103
232 [(jaia.ev).rest_api.presence = GUARANTEED];
233 WARNING__NOT_RESPONDING__JAIABOT_ADAFRUIT_BNO085_DRIVER = 104
234 [(jaia.ev).rest_api.presence = GUARANTEED];
235 WARNING__NOT_RESPONDING__JAIABOT_ECHO_DRIVER = 105
236 [(jaia.ev).rest_api.presence = GUARANTEED];
238 // from jaiabot_fusion
239 WARNING__MISSING_DATA__PITCH = 200
240 [(jaia.ev).rest_api.presence = GUARANTEED];
241 WARNING__MISSING_DATA__ROLL = 201
242 [(jaia.ev).rest_api.presence = GUARANTEED];
243 WARNING__MISSING_DATA__TEMPERATURE = 202
244 [(jaia.ev).rest_api.presence = GUARANTEED];
245 WARNING__MISSING_DATA__COURSE = 216
246 [(jaia.ev).rest_api.presence = GUARANTEED];
247 WARNING__NOT_CALIBRATED_SYS = 221
248 [(jaia.ev).rest_api.presence = GUARANTEED];
249 WARNING__IMU_ISSUE = 222 [(jaia.ev).rest_api.presence = GUARANTEED];
252 WARNING__TEMPERATURE__ARDUINO_TOO_HIGH = 210
253 [(jaia.ev).rest_api.presence = GUARANTEED];
254 WARNING__TEMPERATURE__LINUX_TOO_HIGH = 211
255 [(jaia.ev).rest_api.presence = GUARANTEED];
259 WARNING__COMMS_LOW_SIGNAL_STRENGTH = 300
260 [(jaia.ev).rest_api.presence = GUARANTEED];
262 // from jaiabot_health
263 WARNING__VEHICLE__LOW_BATTERY = 400
264 [(jaia.ev).rest_api.presence = GUARANTEED];
266 WARNING__SYSTEM__NTP_NOT_SYNCHRONIZED = 500
267 [(jaia.ev).rest_api.presence = GUARANTEED];
268 WARNING__SYSTEM__NTP_OFFSET_HIGH = 501
269 [(jaia.ev).rest_api.presence = GUARANTEED];
270 WARNING__SYSTEM__NTP_JITTER_HIGH = 502
271 [(jaia.ev).rest_api.presence = GUARANTEED];
272 WARNING__SYSTEM__RAM_SPACE_LOW = 503
273 [(jaia.ev).rest_api.presence = GUARANTEED];
274 WARNING__SYSTEM__CPU_LOAD_FACTOR_HIGH = 504
275 [(jaia.ev).rest_api.presence = GUARANTEED];
276 WARNING__SYSTEM__ROOTFS_DISK_SPACE_LOW = 505
277 [(jaia.ev).rest_api.presence = GUARANTEED];
278 WARNING__SYSTEM__DATA_DISK_SPACE_LOW = 506
279 [(jaia.ev).rest_api.presence = GUARANTEED];
281 // from jaiabot_mission_manager
282 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_MUST_HAVE_A_GOAL = 700
283 [(jaia.ev).rest_api.presence = GUARANTEED];
284 WARNING__MISSION__INFEASIBLE_MISSION__TRANSIT_CANNOT_RECOVER_AT_FINAL_GOAL_WITHOUT_A_GOAL =
285 701 [(jaia.ev).rest_api.presence = GUARANTEED];
286 WARNING__MISSION__INFEASIBLE_MISSION__MUST_HAVE_RECOVERY_LOCATION_IF_NOT_RECOVERING_AT_FINAL_GOAL =
287 702 [(jaia.ev).rest_api.presence = GUARANTEED];
288 WARNING__MISSION__INFEASIBLE_MISSION__MINIMUM_BOTTOM_DEPTH_REACHED = 703
289 [(jaia.ev).rest_api.presence = GUARANTEED];
290 WARNING__MISSION__INFEASIBLE_MISSION__GOAL_DESIRED_DEPTH_EXCEEDED_MAX = 704
291 [(jaia.ev).rest_api.presence = GUARANTEED];
292 WARNING__VEHICLE__NO_FORWARD_PROGRESS = 705
293 [(jaia.ev).rest_api.presence = GUARANTEED];
295 WARNING__MISSION__DATA_OFFLOAD_FAILED = 720
296 [(jaia.ev).rest_api.presence = GUARANTEED];
297 WARNING__MISSION__DATA__GPS_FIX_DEGRADED = 721
298 [(jaia.ev).rest_api.presence = GUARANTEED];
299 WARNING__MISSION__DATA_PRE_OFFLOAD_FAILED = 722
300 [(jaia.ev).rest_api.presence = GUARANTEED];
301 WARNING__MISSION__DATA_POST_OFFLOAD_FAILED = 723
302 [(jaia.ev).rest_api.presence = GUARANTEED];
305 message LinuxHardwareStatus
307 option (dccl.msg) = {
316 required float one_min = 1;
317 required float five_min = 2;
318 required float fifteen_min = 3;
320 optional LoadAverages loads = 10;
322 optional int32 num_processes = 15;
325 optional int32 num_processors = 20;
330 required uint64 total = 1 [(dccl.field) = {
331 units { prefix: "kilo" unit: "information::byte" }
333 required uint64 available = 2 [(dccl.field) = {
334 units { prefix: "kilo" unit: "information::byte" }
336 required float use_percent = 3;
342 required Information ram = 1;
343 required Information swap = 2;
348 // from boost filesystem
349 optional Information rootfs = 1;
350 optional Information data = 2;
355 required bool is_connected = 1;
356 optional uint32 link_quality = 2;
357 optional uint32 link_quality_percentage = 3;
358 optional int32 signal_level = 4;
359 optional int32 noise_level = 5;
362 optional int32 uptime = 10
363 [(dccl.field) = { units { base_dimensions: "T" } }];
364 optional Processor processor = 20;
365 optional Memory memory = 30;
366 optional Disk disk = 40;
367 optional WiFi wifi = 50;
372 option (dccl.msg) = {
379 SYNC_UNSPECIFIED = 0;
391 optional SyncSource sync_source = 10 [default = SYNC_UNKNOWN];
397 LEAP_LAST_MINUTE_HAS_61_SECONDS = 0x01;
398 LEAP_LAST_MINUTE_HAS_59_SECONDS = 0x02;
399 LEAP_CLOCK_NOT_SYNCHRONIZED = 0x03;
401 optional LeapIndicator leap_indicator = 11 [default = LEAP_UNKNOWN];
402 optional int32 system_event_counter = 12 [default = 0];
405 NTP_SYSTEM_EVENT_UNKNOWN = -1;
406 NTP_SYSTEM_EVENT_UNSPECIFIED = 0x0;
407 NTP_SYSTEM_FREQ_NOT_SET = 0x1;
408 NTP_SYSTEM_FREQ_SET = 0x2;
409 NTP_SYSTEM_SPIKE_DETECT = 0x3;
410 NTP_SYSTEM_FREQ_MODE = 0x4;
411 NTP_SYSTEM_CLOCK_SYNC = 0x5;
412 NTP_SYSTEM_RESTART = 0x6;
413 NTP_SYSTEM_PANIC_STOP = 0x7;
414 NTP_SYSTEM_NO_SYSTEM_PEER = 0x8;
415 NTP_SYSTEM_LEAP_ARMED = 0x9;
416 NTP_SYSTEM_LEAP_DISARMED = 0xa;
417 NTP_SYSTEM_LEAP_EVENT = 0xb;
418 NTP_SYSTEM_CLOCK_STEP = 0xc;
419 NTP_SYSTEM_KERNEL_INFO = 0xd;
420 NTP_SYSTEM_LEAPSECOND_VALUES_UPDATE_FROM_FILE = 0xe;
421 NTP_SYSTEM_STALE_LEAPSECOND_VALUES = 0xf;
423 optional NTPSystemEvent last_system_event = 13
424 [default = NTP_SYSTEM_EVENT_UNKNOWN];
431 PEER_CODE_UNKNOWN = -1;
432 PEER_NOT_VALID = 0x20; // ' '
433 PEER_DISCARDED_BY_INTERSECTION = 0x78; // 'x'
434 PEER_DISCARDED_BY_TABLE_OVERFLOW = 0x2E; // '.'
435 PEER_DISCARDED_BY_CLUSTER_ALGORITHM = 0x2D; // '-'
436 PEER_INCLUDED_IN_COMBINE = 0x2B; // '+'
437 PEER_ALTERNATIVE_BACKUP = 0x23; // '#'
438 PEER_SYSTEM_SYNC_SOURCE = 0x2A; // '*'
439 PEER_PPS_SYNC = 0x6F; // 'o'
442 required TallyCode tally_code = 1 [default = PEER_CODE_UNKNOWN];
443 required string remote = 2;
444 required string refid = 3;
445 optional int32 stratum = 4 [default = 16];
446 optional int32 when = 5
447 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
448 optional int32 poll = 6
449 [default = -1, (dccl.field) = { units { base_dimensions: "T" } }];
451 optional int32 reach = 7 [default = 0];
452 optional float delay = 8 [
454 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
456 optional float offset = 9 [
458 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
460 optional float jitter = 10 [
462 (dccl.field) = { units { prefix: "milli" base_dimensions: "T" } }
465 optional NTPPeer system_sync_peer = 20;
466 repeated NTPPeer peer = 21;
469 message HelmIVPStatus
471 option (dccl.msg) = {
474 optional string helm_ivp_state = 1 [default = "PARK"];
475 optional bool helm_ivp_desired_speed = 2 [default = false];
476 optional bool helm_ivp_desired_heading = 3 [default = false];
477 optional bool helm_ivp_desired_depth = 4 [default = false];
478 optional bool helm_ivp_data = 5 [default = false];
483 repeated Error error = 1;
484 repeated Warning warning = 2;
487 extend goby.middleware.protobuf.ThreadHealth
489 optional ThreadHealth jaiabot_thread = 1000;
492 message VehicleHealth {}
494 extend goby.middleware.protobuf.VehicleHealth
496 optional VehicleHealth jaiabot_vehicle = 1000;
499 message SystemdStartReport
501 required Error clear_error =
502 1; // the corresponding ERROR__FAILED__* to clear (if exists)
505 message SystemdStopReport
509 SERVICE_RESULT_UNKNOWN = 0;
510 SERVICE_RESULT_SUCCESS = 1;
511 SERVICE_RESULT_PROTOCOL = 2;
512 SERVICE_RESULT_TIMEOUT = 3;
513 SERVICE_RESULT_EXIT_CODE = 4;
514 SERVICE_RESULT_SIGNAL = 5;
515 SERVICE_RESULT_CORE_DUMP = 6;
516 SERVICE_RESULT_WATCHDOG = 7;
517 SERVICE_RESULT_START_LIMIT_HIT = 8;
518 SERVICE_RESULT_RESOURCES = 9;
520 required ServiceResult result = 1;
521 required Error error = 2; // the corresponding ERROR__FAILED__*
522 optional string journal_dump_file =
523 3; // if failed, the journal snippet from last boot was written here
526 message SystemdReportAck
528 required Error error_ack =
529 1; // which app this relates to, by its corresponding error value