JaiaBot  1.20.0
JaiaBot micro-AUV software
sensor_core.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 
3 import "dccl/option_extensions.proto";
4 import "jaiabot/messages/sensor/metadata.proto";
5 import "jaiabot/messages/sensor/configuration.proto";
6 import "jaiabot/messages/sensor/atlas_scientific__oem_ec.proto";
7 import "jaiabot/messages/sensor/atlas_scientific__oem_do.proto";
8 import "jaiabot/messages/sensor/atlas_scientific__oem_ph.proto";
9 import "jaiabot/messages/sensor/turner__c_fluor.proto";
10 import "jaiabot/messages/sensor/blue_robotics__bar30.proto";
11 import "jaiabot/messages/sensor/catalog.proto";
12 
13 package jaiabot.sensor.protobuf;
14 
15 enum MCUCommand
16 {
17  ENTER_BOOTLOADER_MODE = 1;
18 }
19 
20 enum CompensationType
21 {
22  SET_EC_TEMPERATURE_COMPENSATION = 1;
23  SET_DO_SALINITY_COMPENSATION = 2;
24  SET_DO_PRESSURE_COMPENSATION = 3;
25  SET_DO_TEMPERATURE_COMPENSATION = 4;
26  SET_PH_TEMPERATURE_COMPENSATION = 5;
27 }
28 
29 enum CalibrationType
30 {
31  START_EC_CALIBRATION = 1;
32  CALIBRATE_EC_DRY = 2;
33  CALIBRATE_EC_LOW = 3;
34  CALIBRATE_EC_HIGH = 4;
35  CLEAR_EC_CALIBRATION = 5;
36  START_DO_CALIBRATION = 6;
37  CALIBRATE_DO_LOW = 7;
38  CALIBRATE_DO_HIGH = 8;
39  CLEAR_DO_CALIBRATION = 9;
40  START_PH_CALIBRATION = 10;
41  CALIBRATE_PH_LOW = 11;
42  CALIBRATE_PH_MID = 12;
43  CALIBRATE_PH_HIGH = 13;
44  CLEAR_PH_CALIBRATION = 14;
45  STOP_CALIBRATION = 15; // stop calibration and return to normal operation
46 }
47 
48 message SensorRequest
49 {
50  option (dccl.msg) = {
51  unit_system: "si"
52  };
53 
54  required uint64 time = 1 [
55  (dccl.field) = { units { prefix: "micro" derived_dimensions: "time" } }
56  ];
57 
58  oneof request_data
59  {
60  bool request_metadata = 11;
61  Configuration cfg = 12;
62 
63  // change name to VendorSensor format
64  // EchoCommand echo_command = 13;
65  }
66 
67  optional MCUCommand mcu_command = 20;
68  optional CalibrationType calibration_type = 21;
69  optional double calibration_value = 22;
70  optional CompensationType compensation_type = 23;
71  optional double compensation_value = 24;
72 }
73 
74 message SensorData
75 {
76  option (dccl.msg) = {
77  unit_system: "si"
78  };
79 
80  required uint64 time = 1 [
81  (dccl.field) = { units { prefix: "micro" derived_dimensions: "time" } }
82  ];
83 
84  oneof data
85  {
86  Metadata metadata = 11;
87  AtlasScientificOEMEC oem_ec = 12;
88  BlueRoboticsBar30 bar30 = 13;
89  AtlasScientificOEMpH oem_ph = 14;
90  AtlasScientificOEMDO oem_do = 15;
91  TurnerCFluor c_fluor = 16;
92 
93  // change name to VendorSensor format
94  // EchoData echo_data = 17;
95  }
96 }
97 
98 message SensorThreadConfig
99 {
100  optional Metadata metadata = 1;
101  optional int32 sample_rate = 2;
102 }