JaiaBot  1.19.0
JaiaBot micro-AUV software
hub.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 
3 import "dccl/option_extensions.proto";
4 import "jaiabot/messages/health.proto";
5 import "goby/middleware/protobuf/coroner.proto";
6 import "jaiabot/messages/geographic_coordinate.proto";
7 import "jaiabot/messages/option_extensions.proto";
8 
9 package jaiabot.protobuf;
10 
11 message HubStatus
12 {
13  option (dccl.msg) = {
14  unit_system: "si"
15  };
16 
17  required uint32 hub_id = 1 [(jaia.field).rest_api.presence = GUARANTEED];
18  required uint32 fleet_id = 2 [(jaia.field).rest_api.presence = GUARANTEED];
19  required uint64 time = 3 [
20  (dccl.field) = { units { prefix: "micro" derived_dimensions: "time" } },
21  (jaia.field).rest_api.presence = GUARANTEED
22  ];
23 
24  optional goby.middleware.protobuf.HealthState health_state = 4
25  [(jaia.field).rest_api.presence = GUARANTEED];
26  repeated Error error = 5 [
27  (dccl.field).max_repeat = 255,
28  (jaia.field).rest_api.presence = GUARANTEED
29  ]; // set max_repeat to a high value as we're not sending this over DCCL
30  // for now, but populate_status_from_health uses this value
31  repeated Warning warning = 6 [
32  (dccl.field).max_repeat = 255,
33  (jaia.field).rest_api.presence = GUARANTEED
34  ];
35 
36  optional GeographicCoordinate location = 10
37  [(jaia.field).rest_api.presence = GUARANTEED];
38 
39  repeated uint32 bot_ids_in_radio_file = 11 [(dccl.field).max_repeat = 255];
40 
41  optional LinuxHardwareStatus linux_hardware_status = 12;
42 
43  message BotOffloadData
44  {
45  required uint32 bot_id = 1;
46  optional int32 data_offload_percentage = 2;
47  optional bool offload_succeeded = 3;
48  }
49  optional BotOffloadData bot_offload = 13;
50 
51  optional uint64 received_time = 14 [
52  (dccl.field) = {
53  omit: true
54  units { prefix: "micro" derived_dimensions: "time" }
55  },
56  (jaia.field).rest_api.presence = GUARANTEED
57  ];
58 
59  message KnownBot
60  {
61  required uint32 id = 1 [(jaia.field).rest_api.presence = GUARANTEED];
62  required uint64 last_status_time = 2 [
63  (dccl.field) = {
64  units { prefix: "micro" derived_dimensions: "time" }
65  },
66  (jaia.field).rest_api.presence = GUARANTEED
67  ];
68  }
69  repeated KnownBot known_bot = 15
70  [(jaia.field).rest_api.presence = GUARANTEED];
71 }