Protobuf protocol - Blueye SDK

Skip to content

# Protocol Documentation

## aquatroll.proto

Aquatroll

These messages are emitted by the In-Situ AquaTroll 500 probe.

### AquaTrollParameterBlock

In-Situ Parameter Block

Up to NUMBER_OF_SENSOR_PARAMETERS blocks may be part of a sensor

Field | Type | Label | Description
--- | --- | --- | ---
measured_value | float |  |
parameter_id | AquaTrollParameter |  |
units_id | AquaTrollUnit |  |
data_quality_ids | AquaTrollQuality | repeated |
off_line_sentinel_value | float |  |
available_units | AquaTrollUnit | repeated |

### AquaTrollProbeMetadata

Field | Type | Label | Description
--- | --- | --- | ---
timestamp | google.protobuf.Timestamp |  |
status | bool |  |
register_map_template_version | uint32 |  |
device_id | AquaTrollDevice |  |
device_serial_number | uint32 |  |
manufacture_date | google.protobuf.Timestamp |  |
firmware_version | uint32 |  |
boot_code_version | uint32 |  |
hardware_version | uint32 |  |
max_data_logs | uint32 |  |
total_data_log_memory | uint32 |  |
total_battery_ticks | uint32 |  |
last_battery_change | google.protobuf.Timestamp |  |
device_name | string |  |
site_name | string |  |
latitude_coordinate | double |  |
longitude_coordinate | double |  |
altitude_coordinate | double |  |
current_time_utc | google.protobuf.Timestamp |  |
device_status_flags | AquaTrollDeviceStatus | repeated |
used_battery_ticks | uint32 |  |
used_data_log_memory | uint32 |  |
sensors | AquaTrollSensor | repeated |

### AquaTrollSensorMetadata

In-Situ AquaTroll 500 sensor metadata

(Mostly) static information about a connected sensor.

Refer to Section 7 Sensor Common Registers in the In-Situ Modbus Communication Protocol

Field | Type | Label | Description
--- | --- | --- | ---
timestamp | google.protobuf.Timestamp |  |
sensor_id | AquaTrollSensor |  |
sensor_serial_number | uint32 |  |
sensor_status_flags | AquaTrollSensorStatus | repeated |
last_factory_calibration | google.protobuf.Timestamp |  |
next_factory_calibration | google.protobuf.Timestamp |  |
last_user_calibration | google.protobuf.Timestamp |  |
next_user_calibration | google.protobuf.Timestamp |  |
warm_up_time_in_milliseconds | uint32 |  |
fast_sample_rate_in_milliseconds | uint32 |  |
number_of_sensor_parameters | uint32 |  |
alarm_and_warning_parameter_number | uint32 |  |
alarm_and_warning_enable_bits | uint32 |  |
high_alarm_set_value | float |  |
high_alarm_clear_value | float |  |
high_warning_set_value | float |  |
high_warning_clear_value | float |  |
low_warning_clear_value | float |  |
low_warning_set_value | float |  |
low_alarm_clear_value | float |  |
low_alarm_set_value | float |  |
parameter_blocks | AquaTrollParameterBlock | repeated |

### AquaTrollSensorMetadataArray

Field | Type | Label | Description
--- | --- | --- | ---
timestamp | google.protobuf.Timestamp |  |
sensors | AquaTrollSensorMetadata | repeated |

### AquaTrollSensorParameters

Field | Type | Label | Description
--- | --- | --- | ---
sensor_id | AquaTrollSensor |  |
parameter_blocks | AquaTrollParameterBlock | repeated |

### AquaTrollSensorParametersArray

Field | Type | Label | Description
--- | --- | --- | ---
timestamp | google.protobuf.Timestamp |  |
sensors | AquaTrollSensorParameters | repeated |

### SetAquaTrollConnectionStatus

Request to change the In-Situ Aqua Troll connection status

Field | Type | Label | Description
--- | --- | --- | ---
connected | bool |  | True to connect, false to disconnect

### SetAquaTrollParameterUnit

Request to set an In-Situ Aqua Troll parameter unit

Field | Type | Label | Description
--- | --- | --- | ---
sensor_id | AquaTrollSensor |  | Sensor id, f. ex. "SENSOR_CONDUCTIVITY_SENSOR"
parameter_id | AquaTrollParameter |  | Parameter name, f. ex. "PARAMETER_TEMPERATURE"
unit_id | AquaTrollUnit |  | Unit, f. ex. "UNIT_TEMP_CELSIUS"

### AquaTrollDevice

Aqua Troll Device IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_DEVICE_UNSPECIFIED | 0 |
AQUA_TROLL_DEVICE_LEVEL_TROLL_500 | 1 |
AQUA_TROLL_DEVICE_LEVEL_TROLL_700 | 2 |
AQUA_TROLL_DEVICE_BAROTROLL_500 | 3 |
AQUA_TROLL_DEVICE_LEVEL_TROLL_300 | 4 |
AQUA_TROLL_DEVICE_AQUA_TROLL_200 | 5 |
AQUA_TROLL_DEVICE_AQUA_TROLL_600 | 7 |
AQUA_TROLL_DEVICE_AQUA_TROLL_100 | 10 |
AQUA_TROLL_DEVICE_FLOW_TROLL_500 | 11 |
AQUA_TROLL_DEVICE_RDO_PRO | 12 |
AQUA_TROLL_DEVICE_RUGGED_TROLL_200 | 16 |
AQUA_TROLL_DEVICE_RUGGED_BAROTROLL | 17 |
AQUA_TROLL_DEVICE_AQUA_TROLL_400 | 18 |
AQUA_TROLL_DEVICE_RDO_TITAN | 19 |
AQUA_TROLL_DEVICE_SMARTROLL | 21 |
AQUA_TROLL_DEVICE_AQUA_TROLL_600_VENTED | 26 |
AQUA_TROLL_DEVICE_LEVEL_TROLL_400 | 30 |
AQUA_TROLL_DEVICE_RDO_PRO_X | 31 |
AQUA_TROLL_DEVICE_AQUA_TROLL_500 | 33 |
AQUA_TROLL_DEVICE_AQUA_TROLL_500_VENTED | 34 |

### AquaTrollDeviceStatus

Aqua Troll Device Status IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_DEVICE_STATUS_SENSOR_HIGH_ALARM | 0 | protolint:disable:this ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
AQUA_TROLL_DEVICE_STATUS_SENSOR_HIGH_WARNING | 1 |
AQUA_TROLL_DEVICE_STATUS_SENSOR_LOW_WARNING | 2 |
AQUA_TROLL_DEVICE_STATUS_SENSOR_LOW_ALARM | 3 |
AQUA_TROLL_DEVICE_STATUS_SENSOR_CALIBRATION_WARNING | 4 |
AQUA_TROLL_DEVICE_STATUS_SENSOR_MALFUNCTION | 5 |
AQUA_TROLL_DEVICE_STATUS_POWER_MANAGEMENT_DISABLED | 8 |
AQUA_TROLL_DEVICE_STATUS_DEVICE_OFF_LINE | 9 |
AQUA_TROLL_DEVICE_STATUS_DEVICE_HARDWARE_RESET_OCCURRED | 10 |
AQUA_TROLL_DEVICE_STATUS_DEVICE_MALFUNCTION | 11 |
AQUA_TROLL_DEVICE_STATUS_NO_EXTERNAL_POWER | 12 |
AQUA_TROLL_DEVICE_STATUS_LOW_BATTERY | 13 |
AQUA_TROLL_DEVICE_STATUS_LOW_MEMORY | 14 |

### AquaTrollParameter

Aqua Troll Parameter IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_PARAMETER_UNSPECIFIED | 0 |
AQUA_TROLL_PARAMETER_TEMPERATURE | 1 |
AQUA_TROLL_PARAMETER_PRESSURE | 2 |
AQUA_TROLL_PARAMETER_DEPTH | 3 |
AQUA_TROLL_PARAMETER_LEVEL_DEPTH_TO_WATER | 4 |
AQUA_TROLL_PARAMETER_LEVEL_SURFACE_ELEVATION | 5 |
AQUA_TROLL_PARAMETER_LATITUDE | 6 |
AQUA_TROLL_PARAMETER_LONGITUDE | 7 |
AQUA_TROLL_PARAMETER_ELEVATION | 8 |
AQUA_TROLL_PARAMETER_ACTUAL_CONDUCTIVITY | 9 |
AQUA_TROLL_PARAMETER_SPECIFIC_CONDUCTIVITY | 10 |
AQUA_TROLL_PARAMETER_RESISTIVITY | 11 |
AQUA_TROLL_PARAMETER_SALINITY | 12 |
AQUA_TROLL_PARAMETER_TOTAL_DISSOLVED_SOLIDS | 13 |
AQUA_TROLL_PARAMETER_DENSITY_OF_WATER | 14 |
AQUA_TROLL_PARAMETER_SPECIFIC_GRAVITY | 15 |
AQUA_TROLL_PARAMETER_BAROMETRIC_PRESSURE | 16 |
AQUA_TROLL_PARAMETER_PH | 17 |
AQUA_TROLL_PARAMETER_PH_MV | 18 |
AQUA_TROLL_PARAMETER_ORP | 19 |
AQUA_TROLL_PARAMETER_DISSOLVED_OXYGEN_CONCENTRATION | 20 |
AQUA_TROLL_PARAMETER_DISSOLVED_OXYGEN_SATURATION | 21 |
AQUA_TROLL_PARAMETER_NITRATE | 22 |
AQUA_TROLL_PARAMETER_AMMONIUM | 23 |
AQUA_TROLL_PARAMETER_CHLORIDE | 24 |
AQUA_TROLL_PARAMETER_TURBIDITY | 25 |
AQUA_TROLL_PARAMETER_BATTERY_VOLTAGE | 26 |
AQUA_TROLL_PARAMETER_HEAD | 27 |
AQUA_TROLL_PARAMETER_FLOW | 28 |
AQUA_TROLL_PARAMETER_TOTAL_FLOW | 29 |
AQUA_TROLL_PARAMETER_OXYGEN_PARTIAL_PRESSURE | 30 |
AQUA_TROLL_PARAMETER_TOTAL_SUSPENDED_SOLIDS | 31 |
AQUA_TROLL_PARAMETER_EXTERNAL_VOLTAGE | 32 |
AQUA_TROLL_PARAMETER_BATTERY_CAPACITY_REMAINING | 33 |
AQUA_TROLL_PARAMETER_RHODAMINE_WT_CONCENTRATION | 34 |
AQUA_TROLL_PARAMETER_RHODAMINE_WT_FLUORESCENCE_INTENSITY | 35 |
AQUA_TROLL_PARAMETER_CHLORIDE_CL_MV | 36 |
AQUA_TROLL_PARAMETER_NITRATE_AS_NITROGEN_NO3_N_CONCENTRATION | 37 |
AQUA_TROLL_PARAMETER_NITRATE_NO3_MV | 38 |
AQUA_TROLL_PARAMETER_AMMONIUM_AS_NITROGEN_NH4_PLUS_N_CONCENTRATION | 39 |
AQUA_TROLL_PARAMETER_AMMONIUM_NH4_MV | 40 |
AQUA_TROLL_PARAMETER_AMMONIA_AS_NITROGEN_NH3_N_CONCENTRATION | 41 |
AQUA_TROLL_PARAMETER_TOTAL_AMMONIA_AS_NITROGEN_NH3_N_CONCENTRATION | 42 |
AQUA_TROLL_PARAMETER_EH | 48 |
AQUA_TROLL_PARAMETER_VELOCITY | 49 |
AQUA_TROLL_PARAMETER_CHLOROPHYLL_A_CONCENTRATION | 50 |
AQUA_TROLL_PARAMETER_CHLOROPHYLL_A_FLUORESCENCE_INTENSITY | 51 |
AQUA_TROLL_PARAMETER_BLUE_GREEN_ALGAE_PHYCOCYANIN_CONCENTRATION | 54 |
AQUA_TROLL_PARAMETER_BLUE_GREEN_ALGAE_PHYCOCYANIN_FLUORESCENCE_INTENSITY | 55 |
AQUA_TROLL_PARAMETER_BLUE_GREEN_ALGAE_PHYCOERYTHRIN_CONCENTRATION | 58 |
AQUA_TROLL_PARAMETER_BLUE_GREEN_ALGAE_PHYCOERYTHRIN_FLUORESCENCE_INTENSITY | 59 |
AQUA_TROLL_PARAMETER_FLUORESCEIN_WT_CONCENTRATION | 67 |
AQUA_TROLL_PARAMETER_FLUORESCEIN_WT_FLUORESCENCE_INTENSITY | 68 |
AQUA_TROLL_PARAMETER_FLUORESCENT_DISSOLVED_ORGANIC_MATTER_CONCENTRATION | 69 |
AQUA_TROLL_PARAMETER_FLUORESCENT_DISSOLVED_ORGANIC_MATTER_FLUORESCENCE_INTENSITY | 70 |
AQUA_TROLL_PARAMETER_CRUDE_OIL_CONCENTRATION | 80 |
AQUA_TROLL_PARAMETER_CRUDE_OIL_FLUORESCENCE_INTENSITY | 81 |
AQUA_TROLL_PARAMETER_COLORED_DISSOLVED_ORGANIC_MATTER_CONCENTRATION | 87 |

### AquaTrollQuality

Aqua Troll Quality IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_QUALITY_NORMAL | 0 | protolint:disable:this ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
AQUA_TROLL_QUALITY_USER_CAL_EXPIRED | 1 |
AQUA_TROLL_QUALITY_FACTORY_CAL_EXPIRED | 2 |
AQUA_TROLL_QUALITY_ERROR | 3 |
AQUA_TROLL_QUALITY_WARM_UP | 4 |
AQUA_TROLL_QUALITY_SENSOR_WARNING | 5 |
AQUA_TROLL_QUALITY_CALIBRATING | 6 |
AQUA_TROLL_QUALITY_OFF_LINE | 7 |

### AquaTrollSensor

Aqua Troll Sensor IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_SENSOR_UNSPECIFIED | 0 |
AQUA_TROLL_SENSOR_TEMPERATURE | 1 |
AQUA_TROLL_SENSOR_S5_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 2 |
AQUA_TROLL_SENSOR_S15_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 3 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 4 |
AQUA_TROLL_SENSOR_S100_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 5 |
AQUA_TROLL_SENSOR_S300_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 6 |
AQUA_TROLL_SENSOR_S500_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 7 |
AQUA_TROLL_SENSOR_S1000_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 8 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 9 |
AQUA_TROLL_SENSOR_S100_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 10 |
AQUA_TROLL_SENSOR_S300_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 11 |
AQUA_TROLL_SENSOR_S500_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_AND_TEMPERATURE | 12 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_TEMPERATURE | 13 |
AQUA_TROLL_SENSOR_S5_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 14 |
AQUA_TROLL_SENSOR_S15_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 15 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 16 |
AQUA_TROLL_SENSOR_S100_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 17 |
AQUA_TROLL_SENSOR_S300_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 18 |
AQUA_TROLL_SENSOR_S500_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 19 |
AQUA_TROLL_SENSOR_NOT_USED | 20 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 21 |
AQUA_TROLL_SENSOR_S100_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 22 |
AQUA_TROLL_SENSOR_S300_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 23 |
AQUA_TROLL_SENSOR_S500_PSI_FULL_SCALE_ABSOLUTE_PRESSURE_WITH_LEVEL_TEMPERATURE_AND_CONDUCTIVITY | 24 |
AQUA_TROLL_SENSOR_S165_PSI_FULL_SCALE_ABSOLUTE_PRESSURE | 25 |
AQUA_TROLL_SENSOR_PH_ANALOG_SENSOR | 26 |
AQUA_TROLL_SENSOR_PH_ORP_ANALOG_SENSOR | 27 |
AQUA_TROLL_SENSOR_DISSOLVED_OXYGEN_CLARK_CELL_ANALOG_SENSOR | 28 |
AQUA_TROLL_SENSOR_NITRATE_ANALOG_SENSOR | 29 |
AQUA_TROLL_SENSOR_AMMONIUM_ANALOG_SENSOR | 30 |
AQUA_TROLL_SENSOR_CHLORIDE_ANALOG_SENSOR | 31 |
AQUA_TROLL_SENSOR_S100_FOOT_FULL_SCALE_LEVEL_WITH_ABSOLUTE_PRESSURE_AND_TEMPERATURE | 32 |
AQUA_TROLL_SENSOR_S250_FOOT_FULL_SCALE_LEVEL_WITH_ABSOLUTE_PRESSURE_AND_TEMPERATURE | 33 |
AQUA_TROLL_SENSOR_S30_FOOT_FULL_SCALE_LEVEL_WITH_ABSOLUTE_PRESSURE_AND_TEMPERATURE | 34 |
AQUA_TROLL_SENSOR_CONDUCTIVITY_AND_TEMPERATURE | 35 |
AQUA_TROLL_SENSOR_S5_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 36 |
AQUA_TROLL_SENSOR_S15_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 37 |
AQUA_TROLL_SENSOR_S30_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 38 |
AQUA_TROLL_SENSOR_S100_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 39 |
AQUA_TROLL_SENSOR_S300_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 40 |
AQUA_TROLL_SENSOR_S500_PSI_FULL_SCALE_GAUGE_PRESSURE_WITH_TEMPERATURE_HEAD_AND_FLOW | 41 |
AQUA_TROLL_SENSOR_OPTICAL_DISSOLVED_OXYGEN_WITH_TEMPERATURE | 42 |
AQUA_TROLL_SENSOR_S1_BAR | 43 |
AQUA_TROLL_SENSOR_S2_BAR | 44 |
AQUA_TROLL_SENSOR_S5_BAR | 45 |
AQUA_TROLL_SENSOR_TURBIDITY_SENSOR | 50 |
AQUA_TROLL_SENSOR_TEMPERATURE_SENSOR | 55 |
AQUA_TROLL_SENSOR_CONDUCTIVITY_SENSOR | 56 |
AQUA_TROLL_SENSOR_RDO_SENSOR | 57 |
AQUA_TROLL_SENSOR_PH_ORP_SENSOR | 58 |
AQUA_TROLL_SENSOR_RHODAMINE_WT_SENSOR | 60 |
AQUA_TROLL_SENSOR_CHLOROPHYLL_A_SENSOR | 62 |
AQUA_TROLL_SENSOR_BLUE_GREEN_ALGAE_PHYCOCYANIN_SENSOR | 64 |
AQUA_TROLL_SENSOR_BLUE_GREEN_ALGAE_PHYCOERYTHRIN_SENSOR | 65 |
AQUA_TROLL_SENSOR_NITRATE_ISE_SENSOR | 70 |
AQUA_TROLL_SENSOR_AMMONIUM_ISE_SENSOR | 71 |
AQUA_TROLL_SENSOR_CHLORIDE_ISE_SENSOR | 72 |
AQUA_TROLL_SENSOR_PROBE_PARAMETERS | 79 |

### AquaTrollSensorStatus

Aqua Troll Sensor Status IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_SENSOR_STATUS_SENSOR_HIGH_ALARM | 0 | protolint:disable:this ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
AQUA_TROLL_SENSOR_STATUS_SENSOR_HIGH_WARNING | 1 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_LOW_WARNING | 2 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_LOW_ALARM | 3 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_CALIBRATION_WARNING | 4 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_MALFUNCTION | 5 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_MODE_BIT_1 | 8 |
AQUA_TROLL_SENSOR_STATUS_SENSOR_MODE_BIT_2 | 9 |

### AquaTrollUnit

Aqua Troll Unit IDs

Name | Number | Description
--- | --- | ---
AQUA_TROLL_UNIT_UNSPECIFIED | 0 |
AQUA_TROLL_UNIT_TEMP_CELSIUS | 1 |
AQUA_TROLL_UNIT_TEMP_FARENHEIT | 2 |
AQUA_TROLL_UNIT_TEMP_KELVIN | 3 |
AQUA_TROLL_UNIT_POUNDS_PER_SQUARE_INCH | 17 |
AQUA_TROLL_UNIT_PASCALS | 18 |
AQUA_TROLL_UNIT_KILOPASCALS | 19 |
AQUA_TROLL_UNIT_BARS | 20 |
AQUA_TROLL_UNIT_MILLIBARS | 21 |
AQUA_TROLL_UNIT_MILLIMETERS_OF_MERCURY | 22 |
AQUA_TROLL_UNIT_INCHES_OF_MERCURY | 23 |
AQUA_TROLL_UNIT_CENTIMETERS_OF_WATER | 24 |
AQUA_TROLL_UNIT_INCHES_OF_WATER | 25 |
AQUA_TROLL_UNIT_TORR | 26 |
AQUA_TROLL_UNIT_STANDARD_ATMOSPHERE | 27 |
AQUA_TROLL_UNIT_MILLIMETERS | 33 |
AQUA_TROLL_UNIT_CENTIMETERS | 34 |
AQUA_TROLL_UNIT_METERS | 35 |
AQUA_TROLL_UNIT_KILOMETER | 36 |
AQUA_TROLL_UNIT_INCHES | 37 |
AQUA_TROLL_UNIT_FEET | 38 |
AQUA_TROLL_UNIT_DEGREES | 49 |
AQUA_TROLL_UNIT_MINUTES | 50 |
AQUA_TROLL_UNIT_SECONDS | 51 |
AQUA_TROLL_UNIT_MICROSIEMENS_PER_CENTIMETER | 65 |
AQUA_TROLL_UNIT_MILLISIEMENS_PER_CENTIMETER | 66 |
AQUA_TROLL_UNIT_OHM_CENTIMETERS | 81 |
AQUA_TROLL_UNIT_PRACTICAL_SALINITY_UNITS | 97 |
AQUA_TROLL_UNIT_PARTS_PER_THOUSAND_SALINITY | 98 |
AQUA_TROLL_UNIT_PARTS_PER_MILLION | 113 |
AQUA_TROLL_UNIT_PARTS_PER_THOUSAND | 114 |
AQUA_TROLL_UNIT_PARTS_PER_MILLION_NITROGEN | 115 |
AQUA_TROLL_UNIT_PARTS_PER_MILLION_CHLORIDE | 116 |
AQUA_TROLL_UNIT_MILLIGRAMS_PER_LITER | 117 |
AQUA_TROLL_UNIT_MICROGRAMS_PER_LITER | 118 |
AQUA_TROLL_UNIT_MICROMOLES_PER_LITER_DEPRECATED | 119 |
AQUA_TROLL_UNIT_GRAMS_PER_LITER | 120 |
AQUA_TROLL_UNIT_PARTS_PER_BILLION | 121 |
AQUA_TROLL_UNIT_GRAMS_PER_CUBIC_CENTIMETER | 129 |
AQUA_TROLL_UNIT_PH | 145 |
AQUA_TROLL_UNIT_MICRO_VOLTS | 161 |
AQUA_TROLL_UNIT_MILLI_VOLTS | 162 |
AQUA_TROLL_UNIT_VOLTS | 163 |
AQUA_TROLL_UNIT_PERCENT_SATURATION | 177 |
AQUA_TROLL_UNIT_FORMAZIN_NEPHELOMETRIC_UNITS | 193 |
AQUA_TROLL_UNIT_NEPHELOMETRIC_TURBIDITY_UNITS | 194 |
AQUA_TROLL_UNIT_FORMAZIN_TURBIDITY_UNITS | 195 |
AQUA_TROLL_UNIT_CUBIC_FEET_PER_SECOND | 209 |
AQUA_TROLL_UNIT_CUBIC_FEET_PER_MINUTE | 210 |
AQUA_TROLL_UNIT_CUBIC_FEET_PER_HOUR | 211 |
AQUA_TROLL_UNIT_CUBIC_FEET_PER_DAY | 212 |
AQUA_TROLL_UNIT_GALLONS_PER_SECOND | 213 |
AQUA_TROLL_UNIT_GALLONS_PER_MINUTE | 214 |
AQUA_TROLL_UNIT_GALLONS_PER_HOUR | 215 |
AQUA_TROLL_UNIT_MILLIONS_OF_GALLONS_PER_DAY | 216 |
AQUA_TROLL_UNIT_CUBIC_METERS_PER_SECOND | 217 |
AQUA_TROLL_UNIT_CUBIC_METERS_PER_MINUTE | 218 |
AQUA_TROLL_UNIT_CUBIC_METERS_PER_HOUR | 219 |
AQUA_TROLL_UNIT_CUBIC_METERS_PER_DAY | 220 |
AQUA_TROLL_UNIT_LITERS_PER_SECOND | 221 |
AQUA_TROLL_UNIT_MILLIONS_OF_LITERS_PER_DAY | 222 |
AQUA_TROLL_UNIT_MILLILITERS_PER_MINUTE | 223 |
AQUA_TROLL_UNIT_THOUSANDS_OF_LITERS_PER_DAY | 224 |
AQUA_TROLL_UNIT_CUBIC_FEET | 225 |
AQUA_TROLL_UNIT_GALLONS | 226 |
AQUA_TROLL_UNIT_MILLIONS_OF_GALLONS | 227 |
AQUA_TROLL_UNIT_CUBIC_METERS | 228 |
AQUA_TROLL_UNIT_LITERS | 229 |
AQUA_TROLL_UNIT_ACRE_FEET | 230 |
AQUA_TROLL_UNIT_MILLILITERS | 231 |
AQUA_TROLL_UNIT_MILLIONS_OF_LITERS | 232 |
AQUA_TROLL_UNIT_THOUSANDS_OF_LITERS | 233 |
AQUA_TROLL_UNIT_ACRE_INCHES | 234 |
AQUA_TROLL_UNIT_PERCENT | 241 |
AQUA_TROLL_UNIT_RELATIVE_FLUORESCENCE_UNITS | 257 |
AQUA_TROLL_UNIT_MILLILITERS_PER_SECOND | 273 |
AQUA_TROLL_UNIT_MILLILITERS_PER_HOUR | 274 |
AQUA_TROLL_UNIT_LITERS_PER_MINUTE | 275 |
AQUA_TROLL_UNIT_LITERS_PER_HOUR | 276 |
AQUA_TROLL_UNIT_MICROAMPS | 289 |
AQUA_TROLL_UNIT_MILLIAMPS | 290 |
AQUA_TROLL_UNIT_AMPS | 291 |
AQUA_TROLL_UNIT_FEET_PER_SECOND | 305 |
AQUA_TROLL_UNIT_METERS_PER_SECOND | 306 |

### Type

Type IDs

Name | Number | Description
--- | --- | ---
TYPE_UNSPECIFIED | 0 |
TYPE_SHORT | 1 |
TYPE_UNSIGNED_SHORT | 2 |
TYPE_LONG | 3 |
TYPE_UNSIGNED_LONG | 4 |
TYPE_FLOAT | 5 |
TYPE_DOUBLE | 6 |
TYPE_CHARACTER | 7 |
TYPE_STRING | 8 |
TYPE_TIME | 9 |

## control.proto

Control

These messages define control messages accepted by the Blueye drone.

### ActivateGuestPortsCtrl

Activated the guest port power

### AutoAltitudeCtrl

Issue a command to set auto altitude to a desired state.

Field | Type | Label | Description
--- | --- | --- | ---
state | AutoAltitudeState |  | State of the altitude controller

### AutoDepthCtrl

Issue a command to set auto depth to a desired state.

Field | Type | Label | Description
--- | --- | --- | ---
state | AutoDepthState |  | State of the depth controller

### AutoHeadingCtrl

Issue a command to set auto heading to a desired state.

Field | Type | Label | Description
--- | --- | --- | ---
state | AutoHeadingState |  | State of the heading controller

### CancelCalibrationCtrl

Issue a command to cancel compass calibration.

### DeactivateGuestPortsCtrl

Deactivate the guest port power

### FinishCalibrationCtrl

Issue a command to finish compass calibration.

### GenericServoCtrl

Issue a command to set a generic servo value.

Field | Type | Label | Description
--- | --- | --- | ---
servo | GenericServo |  | Message with the desired servo value.

### GripperCtrl

Issue a command to control the gripper.

Field | Type | Label | Description
--- | --- | --- | ---
gripper_velocities | GripperVelocities |  | The desired gripping and rotation velocity.

### GuestportLightsCtrl

Issue a command to set the guest port light intensity.

Field | Type | Label | Description
--- | --- | --- | ---
lights | Lights |  | Message with the desired light intensity.

### LaserCtrl

Issue a command to set the laser intensity.

Field | Type | Label | Description
--- | --- | --- | ---
laser | Laser |  | Message with the desired laser intensity.

### LightsCtrl

Issue a command to set the main light intensity.

Field | Type | Label | Description
--- | --- | --- | ---
lights | Lights |  | Message with the desired light intensity.

### MotionInputCtrl

Issue a command to move the drone in the surge, sway, heave, or yaw direction.

Field | Type | Label | Description
--- | --- | --- | ---
motion_input | MotionInput |  | Message with the desired movement in each direction.

### MultibeamServoCtrl

Issue a command to set multibeam servo angle.

Field | Type | Label | Description
--- | --- | --- | ---
servo | MultibeamServo |  | Message with the desired servo angle.

### PilotGPSPositionCtrl

Issue a command with the GPS position of the pilot.

Field | Type | Label | Description
--- | --- | --- | ---
position | LatLongPosition |  | The GPS position of the pilot.

### PingerConfigurationCtrl

Issue a command to set the pinger configuration.

Field | Type | Label | Description
--- | --- | --- | ---
configuration | PingerConfiguration |  | Message with the pinger configuration to set.

### RecordCtrl

Issue a command to start video recording.

Field | Type | Label | Description
--- | --- | --- | ---
record_on | RecordOn |  | Message specifying which cameras to record.

### ResetOdometerCtrl

Issue a command to reset the odometer.

### ResetPositionCtrl

Issue a command to reset the position estimate.

Field | Type | Label | Description
--- | --- | --- | ---
settings | ResetPositionSettings |  | Reset settings.

### RestartGuestPortsCtrl

Restart the guest ports by turning power on and off

Field | Type | Label | Description
--- | --- | --- | ---
restart_info | GuestPortRestartInfo |  | Message with information about how long to keep the guest ports off.

### SetAquaTrollConnectionStatusCtrl

Request to change the In-Situ Aqua Troll connection status

Field | Type | Label | Description
--- | --- | --- | ---
connection_status | SetAquaTrollConnectionStatus |  | Message with information about which parameter to set and the unit to set it to.

### SetAquaTrollParameterUnitCtrl

Request to set an In-Situ Aqua Troll parameter unit

Field | Type | Label | Description
--- | --- | --- | ---
parameter_info | SetAquaTrollParameterUnit |  | Message with information about which parameter to set and the unit to set it to.

Top

### StartCalibrationCtrl

Issue a command to start compass calibration.

### StationKeepingCtrl

Issue a command to set station keeping to a desired state.

Field | Type | Label | Description
--- | --- | --- | ---
state | StationKeepingState |  | State of the station keeping controller

### SystemTimeCtrl

Issue a command to set the system time on the drone.

Field | Type | Label | Description
--- | --- | --- | ---
system_time | SystemTime |  | Message with the system time to set.

### TakePictureCtrl

Issue a command to take a picture.

### TiltStabilizationCtrl

Issue a command to enable or disable tilt stabilization.

Field | Type | Label | Description
--- | --- | --- | ---
state | TiltStabilizationState |  | Message with the tilt stabilization state to set.

### TiltVelocityCtrl

Issue a command to tilt the drone camera.

Field | Type | Label | Description
--- | --- | --- | ---
velocity | TiltVelocity |  | Message with the desired tilt velocity (direction and speed).

### WatchdogCtrl

Issue a watchdog message to indicate that the remote client is connected and working as expected.

If a watchdog message is not received every second, the drone will turn off lights and other auto functions to indicate that connection with the client has been lost.

Field | Type | Label | Description
--- | --- | --- | ---
connection_duration | ConnectionDuration |  | Message with the number of seconds the client has been connected.
client_id | uint32 |  | The ID of the client, received in the ConnectClientRep response.

### WaterDensityCtrl

Issue a command to set the water density.

Field | Type | Label | Description
--- | --- | --- | ---
density | WaterDensity |  | Message with the water density to set.

### WeatherVaningCtrl

Issue a command to set station keeping with weather vaning to a desired state.

Field | Type | Label | Description
--- | --- | --- | ---
state | WeatherVaningState |  | State of the weather vaning controller

Top

## message_formats.proto

Common messages

These are used for logging as well as building requests and responses.

### Altitude

Drone altitude over seabed, typically obtained from a DVL.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Drone altitude over seabed (m)
is_valid | bool |  | If altitude is valid or not

### Attitude

The attitude of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
roll | float |  | Roll angle (-180°..180°)
pitch | float |  | Pitch angle (-180°..180°)
yaw | float |  | Yaw angle (-180°..180°)

### AutoAltitudeState

Auto altitude state.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If auto altitude is enabled

### AutoDepthState

Auto depth state.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If auto depth is enabled

### AutoHeadingState

Auto heading state.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If auto heading is enabled

### Battery

Essential battery information.

Field | Type | Label | Description
--- | --- | --- | ---
voltage | float |  | Battery voltage (V)
level | float |  | Battery level (0..1)
temperature | float |  | Battery temperature (°C)

### BatteryBQ40Z50

Battery information message.

Detailed information about all aspects of the connected Blueye Smart Battery, using the BQ40Z50 BMS.

Field | Type | Label | Description
--- | --- | --- | ---
voltage | BatteryBQ40Z50.Voltage |  | Voltage of the battery cells
temperature | BatteryBQ40Z50.Temperature |  | Temperature of the battery cells
status | BatteryBQ40Z50.BatteryStatus |  | Battery status flags
current | float |  | Current (A)
average_current | float |  | Average current (A)
relative_state_of_charge | float |  | Relative state of charge (0..1)
absolute_state_of_charge | float |  | Absolute state of charge (0..1)
calculated_state_of_charge | float |  | Calculated state of charge (0..1)
remaining_capacity | float |  | Remaining capacity (Ah)
full_charge_capacity | float |  | Full charge capacity (Ah)
runtime_to_empty | uint32 |  | Runtime to empty (s)
average_time_to_empty | uint32 |  | Average time to empty (s)
average_time_to_full | uint32 |  | Average time to full (s)
charging_current | float |  | Charging current (A)
charging_voltage | float |  | Charging voltage (V)
cycle_count | uint32 |  | Number of charging cycles
design_capacity | float |  | Design capacity (Ah)
manufacture_date | google.protobuf.Timestamp |  | Manufacture date
serial_number | uint32 |  | Serial number
manufacturer_name | string |  | Manufacturer name
device_name | string |  | Device name
device_chemistry | string |  | Battery chemistry

### BatteryBQ40Z50.BatteryStatus

Battery status from BQ40Z50 ref data sheet 0x16.

Field | Type | Label | Description
--- | --- | --- | ---
overcharged_alarm | bool |  |
terminate_charge_alarm | bool |  |
over_temperature_alarm | bool |  |
terminate_discharge_alarm | bool |  |
remaining_capacity_alarm | bool |  |
remaining_time_alarm | bool |  |
initialization | bool |  |
discharging_or_relax | bool |  |
fully_charged | bool |  |
fully_discharged | bool |  |
error | BatteryBQ40Z50.BatteryStatus.BatteryError |  | Battery error codes

### BatteryBQ40Z50.Temperature

Battery temperature.

Field | Type | Label | Description
--- | --- | --- | ---
average | float |  | Average temperature accross cells (°C)
cell_1 | float |  | Cell 1 temperature (°C)
cell_2 | float |  | Cell 2 temperature (°C)
cell_3 | float |  | Cell 3 temperature (°C)
cell_4 | float |  | Cell 4 temperature (°C)

### BatteryBQ40Z50.Voltage

Battery voltage levels.

Field | Type | Label | Description
--- | --- | --- | ---
total | float |  | Battery pack voltage level (V)
cell_1 | float |  | Cell 1 voltage level (V)
cell_2 | float |  | Vell 2 voltage level (V)
cell_3 | float |  | Cell 3 voltage level (V)
cell_4 | float |  | Cell 4 voltage level (V)

### BinlogRecord

Wrapper message for each entry in the drone telemetry logfile.

Each entry contains the unix timestamp in UTC, the monotonic timestamp (time since boot), and an Any message wrapping the custom Blueye message.

See separate documentation for the logfile format for more details.

Field | Type | Label | Description
--- | --- | --- | ---
payload | google.protobuf.Any |  | The log entry payload.
unix_timestamp | google.protobuf.Timestamp |  | Unix timestamp in UTC.
clock_monotonic | google.protobuf.Timestamp |  | Posix CLOCK_MONOTONIC timestamp.

### CPUTemperature

CPU temperature.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | CPU temperature (°C)

### CalibrationState

Compass calibration state.

Field | Type | Label | Description
--- | --- | --- | ---
status | CalibrationState.Status |  | Current calibration status
progress_x_positive | float |  | Progress for the positive X axis (0..1)
progress_x_negative | float |  | Progress for the negative X axis (0..1)
progress_y_positive | float |  | Progress for the positive Y axis (0..1)
progress_y_negative | float |  | Progress for the negative X axis (0..1)
progress_z_positive | float |  | Progress for the positive Z axis (0..1)
progress_z_negative | float |  | Progress for the negative Z axis (0..1)
progress_thruster | float |  | Progress for the thruster calibration (0..1)

### CameraParameters

Camera parameters.

Field | Type | Label | Description
--- | --- | --- | ---
h264_bitrate | int32 |  | Bitrate of the h264 stream (bit/sec)
mjpg_bitrate | int32 |  | Bitrate of the MJPG stream used for still pictures (bit/sec)
exposure | int32 |  | Shutter speed (1/10000 * s), -1 for automatic exposure
white_balance | int32 |  | White balance temperature (2800..9300), -1 for automatic white balance
hue | int32 |  | Hue (-40..40), 0 as default
gain | float |  | Iso gain (0..1)
resolution | Resolution |  | Stream, recording and image resolution
framerate | Framerate |  | Stream and recording framerate
camera | Camera |  | Which camera the parameters belong to.

### CanisterHumidity

Canister humidity.

Humidity measured in the top or bottom canister of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
humidity | float |  | Air humidity (%)

### CanisterTemperature

Canister temperature.

Temperature measured in the top or bottom canister of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
temperature | float |  | Temperature (°C)

### ClientInfo

Information about a remote client.

Field | Type | Label | Description
--- | --- | --- | ---
type | string |  | The type of client (such as Blueye App, Observer App, SDK, etc)
version | string |  | Client software version string
device_type | string |  | Device type, such as mobile, tablet, or computer
platform | string |  | Platform, such as iOS, Android, Linux, etc
platform_version | string |  | Platform software version string
name | string |  | Name of the client

### ConnectedClient

Information about a connected client with an id assigned by the drone.

Field | Type | Label | Description
--- | --- | --- | ---
client_id | uint32 |  | The assigned client id
client_info | ClientInfo |  | Client information.

### ConnectionDuration

Connection duration of a remote client.

Field | Type | Label | Description
--- | --- | --- | ---
value | int32 |  | time since connected to drone (s)

### ControlForce

Control Force is used for showing the requested control force in each direction in Newtons.

Field | Type | Label | Description
--- | --- | --- | ---
surge | float |  | Force in surge (N)
sway | float |  | Force in sway (N)
heave | float |  | Force in heave (N)
yaw | float |  | Moment in yaw (Nm)

### ControlMode

Control mode from drone supervisor

Field | Type | Label | Description
--- | --- | --- | ---
auto_depth | bool |  | If auto depth is enabled
auto_heading | bool |  | If auto heading is enabled
auto_altitude | bool |  | If auto altitude is enabled
station_keeping | bool |  | If station keeping is enabled
weather_vaning | bool |  | If weather vaning is enabled

### ControllerHealth

Controller health is used for showing the state of the controller with an relative error and load from 0 to 1.

Field | Type | Label | Description
--- | --- | --- | ---
depth_error | float |  | Depth error in meters (m)
depth_health | float |  | Depth controller load (0..1)
heading_error | float |  | Heading error in degrees (°)
heading_health | float |  | Heading controller load (0..1)

### CpProbe

Reading from a Cathodic Protection Potential probe.

Field | Type | Label | Description
--- | --- | --- | ---
measurement | float |  | Potential measurement (V)
is_measurement_valid | bool |  | Indicating if the measurement is valid

### Depth

Water depth of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Drone depth below surface (m)

### DiveTime

Amount of time the drone has been submerged.

The drone starts incrementing this value when the depth is above 250 mm.

Field | Type | Label | Description
--- | --- | --- | ---
value | int32 |  | Number of seconds the drone has been submerged

### DroneInfo

Information about the drone.

This message contains serial numbers and version information for internal components in the drone. Primarily used for diagnostics, or to determine the origin of a logfile.

Field | Type | Label | Description
--- | --- | --- | ---
blunux_version | string |  | Blunux version string
serial_number | bytes |  | Drone serial number
hardware_id | bytes |  | Main computer unique identifier
model | Model |  | Drone model
mb_serial | bytes |  | Motherboard serial number
bb_serial | bytes |  | Backbone serial number
ds_serial | bytes |  | Drone stack serial number
mb_uid | bytes |  | Motherboard unique identifier
bb_uid | bytes |  | Backbone unique identifier
gp | GuestPortInfo |  | GuestPortInfo
depth_sensor | PressureSensorType |  | Type of depth sensor that is connected to the drone

### ErrorFlags

Known error states for the drone.

Field | Type | Label | Description
--- | --- | --- | ---
pmu_comm_ack | bool |  | Acknowledge message not received for a message published to internal micro controller
pmu_comm_stream | bool |  | Error in communication with internal micro controller
depth_read | bool |  | Error reading depth sensor value
depth_spike | bool |  | Sudden spike in value read from depth sensor
inner_pressure_read | bool |  | Error reading inner pressure of the drone
inner_pressure_spike | bool |  | Sudden spike in inner preassure
compass_calibration | bool |  | Compass needs calibration
tilt_calibration | bool |  | Error during calibration of tilt endpoints
gp1_read | bool |  | Guest port 1 read error
gp2_read | bool |  | Guest port 2 read error
gp3_read | bool |  | Guest port 3 read error
gp1_not_flashed | bool |  | Guest port 1 not flashed
gp2_not_flashed | bool |  | Guest port 2 not flashed
gp3_not_flashed | bool |  | Guest port 3 not flashed
gp1_unknown_device | bool |  | Unknown device on guest port 1
gp2_unknown_device | bool |  | Unknown device on guest port 2
gp3_unknown_device | bool |  | Unknown device on guest port 3
gp1_device_connection | bool |  | Guest port 1 connection error
gp2_device_connection | bool |  | Guest port 2 connection error
gp3_device_connection | bool |  | Guest port 3 connection error
gp1_device | bool |  | Guest port 1 device error
gp2_device | bool |  | Guest port 2 device error
gp3_device | bool |  | Guest port 3 device error
drone_serial_not_set | bool |  | Drone serial number not set
drone_serial | bool |  | Drone serial number error
mb_eeprom_read | bool |  | MB eeprom read error
bb_eeprom_read | bool |  | BB eeprom read error
mb_eeprom_not_flashed | bool |  | MB eeprom not flashed
bb_eeprom_not_flashed | bool |  | BB eeprom not flashed
main_camera_connection | bool |  | We don't get buffers from the main camera
main_camera_firmware | bool |  | The main camera firmware is wrong
guestport_camera_connection | bool |  | We don't get buffers from the guestport camera
guestport_camera_firmware | bool |  | The guestport camera firmware is wrong
mb_serial | bool |  | MB serial number error
bb_serial | bool |  | BB serial number error
ds_serial | bool |  | DS serial number error
gp_current_read | bool |  | Error reading GP current
gp_current | bool |  | Max GP current exceeded
gp1_bat_current | bool |  | Max battery current exceeded on GP1
gp2_bat_current | bool |  | Max battery current exceeded on GP2
gp3_bat_current | bool |  | Max battery current exceeded on GP3
gp_20v_current | bool |  | Max 20V current exceeded on GP

### ForwardDistance

Distance to an object infront of the drone, typically obtained from an 1D pinger.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Distance in front of drone (m)
is_valid | bool |  | If distance reading is valid or not

### GenericServo

Servo message used to represent the angle of the servo.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Servo value (0..1)
guest_port_number | GuestPortNumber |  | Guest port the servo is on

### GripperVelocities

Gripper velocity values.

Field | Type | Label | Description
--- | --- | --- | ---
grip_velocity | float |  | The gripping velocity (-1.0..1.0)
rotate_velocity | float |  | The rotating velocity (-1.0..1.0)

### GuestPortConnectorInfo

GuestPort connector information.

Field | Type | Label | Description
--- | --- | --- | ---
device_list | GuestPortDeviceList |  | List of devices on this connector
error | GuestPortError |  | Guest port error
guest_port_number | GuestPortNumber |  | Guest port the connector is connected to

### GuestPortCurrent

GuestPort current readings.

Field | Type | Label | Description
--- | --- | --- | ---
gp1_bat | double |  | Current on GP1 battery voltage (A)
gp2_bat | double |  | Current on GP2 battery voltage (A)
gp3_bat | double |  | Current on GP3 battery voltage (A)
gp_20v | double |  | Current on common 20V supply (A)

### GuestPortDevice

GuestPort device.

Field | Type | Label | Description
--- | --- | --- | ---
device_id | GuestPortDeviceID |  | Blueye device identifier
manufacturer | string |  | Manufacturer name
name | string |  | Device name
serial_number | string |  | Serial number
depth_rating | float |  | Depth rating (m)
required_blunux_version | string |  | Required Blunux version (x.y.z)

### GuestPortDeviceList

List of guest port devices.

Field | Type | Label | Description
--- | --- | --- | ---
devices | GuestPortDevice | repeated | List of guest port devices

### GuestPortInfo

GuestPort information.

Field | Type | Label | Description
--- | --- | --- | ---
gp1 | GuestPortConnectorInfo |  | GuestPortConnectorInfo 1
gp2 | GuestPortConnectorInfo |  | GuestPortConnectorInfo 2
gp3 | GuestPortConnectorInfo |  | GuestPortConnectorInfo 3

### GuestPortRestartInfo

GuestPort restart information.

Field | Type | Label | Description
--- | --- | --- | ---
power_off_duration | double |  | Duration to keep the guest ports off (s)

### Imu

Imu data in drone body frame

x - forward y - right z - down

Field | Type | Label | Description
--- | --- | --- | ---
accelerometer | Vector3 |  | Acceleration (g)
gyroscope | Vector3 |  | Angular velocity (rad/s)
magnetometer | Vector3 |  | Magnetic field (μT)
temperature | float |  | Temperature (°C)

### IperfStatus

Connection speed between drone and Surface Unit.

Field | Type | Label | Description
--- | --- | --- | ---
sent | float |  | Transfer rate from drone to Surface Unit (Mbit/s)
received | float |  | Transfer rate from Surface Unit to drone (Mbit/s)

### Laser

Laser message used to represent the intensity of connected laser.

If the laser does not support dimming but only on and off, a value of 0 turns the laser off, and any value above 0 turns the laser on.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Laser intensity, any value above 0 turns the laser on (0..1)

### LatLongPosition

Latitude and longitude position in WGS 84 decimal degrees format.

Field | Type | Label | Description
--- | --- | --- | ---
latitude | double |  | Latitude (°)
longitude | double |  | Longitude (°)

### Lights

Lights message used to represent the intensity of the main light or external lights.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Light intensity (0..1)

### MedusaSpectrometerData

Medusa gamma ray sensor spectrometer data

Field | Type | Label | Description
--- | --- | --- | ---
drone_time | google.protobuf.Timestamp |  | Time stamp when the data is received
sensor_time | google.protobuf.Timestamp |  | Time stamp the sensor reports
realtime | float |  | Time the sensor actually measured (s)
livetime | float |  | Time the measurement took (s)
total | uint32 |  | Total counts inside the spectrum
countrate | uint32 |  | Counts per second inside the spectrum (rounded)
cosmics | uint32 |  | Detected counts above the last channel

### MotionInput

Motion input from client.

Used to indicate the desired motion in each direction. Typically these values map to the left and right joystick for motion, and the left and right trigger for the slow and boost modifiers.

Field | Type | Label | Description
--- | --- | --- | ---
surge | float |  | Forward (positive) and backwards (negative) movement. (-1..1)
sway | float |  | Right (positive) and left (negative) lateral movement (-1..1)
heave | float |  | Descend (positive) and ascend (negative) movement (-1..1)
yaw | float |  | Left (positive) and right (negative) movement (-1..1)
slow | float |  | Multiplier used to reduce the speed of the motion (0..1)
boost | float |  | Multiplier used to increase the speed of the motion (0..1)

### MultibeamServo

Servo message used to represent the angle of the servo.

Field | Type | Label | Description
--- | --- | --- | ---
angle | float |  | Servo degrees (-30..30)

### NStreamers

Number of spectators connected to video stream.

Field | Type | Label | Description
--- | --- | --- | ---
main | int32 |  | The number of clients to the main camera stream
guestport | int32 |  | The number of clients to the guestport camera stream

### NavigationSensorStatus

Navigation sensor used in the position observer with validity state

Field | Type | Label | Description
--- | --- | --- | ---
sensor_id | NavigationSensorID |  | Sensor id
is_valid | bool |  | Sensor validity

### OverlayParameters

Overlay parameters.

All available parameters that can be used to configure telemetry overlay on video recordings.

Field | Type | Label | Description
--- | --- | --- | ---
temperature_enabled | bool |  | If temperature should be included
depth_enabled | bool |  | If depth should be included
heading_enabled | bool |  | If heading should be included
tilt_enabled | bool |  | If camera tilt angle should be included
thickness_enabled | bool |  | If camera tilt angle should be included
date_enabled | bool |  | If date should be included
distance_enabled | bool |  | If distance should be included
altitude_enabled | bool |  | If altitude should be included
cp_probe_enabled | bool |  | If cp-probe should be included
medusa_enabled | bool |  | If medusa measurement should be included
drone_location_enabled | bool |  | If the drone location coordinates should be included
logo_type | LogoType |  | Which logo should be used
depth_unit | DepthUnit |  | Which unit should be used for depth: Meter, Feet or None
temperature_unit | TemperatureUnit |  | Which unit should be used for temperature: Celcius or Fahrenheit
thickness_unit | ThicknessUnit |  | Which unit should be used for thickness: Millimeters or Inches
timezone_offset | int32 |  | Timezone offset from UTC (min)
margin_width | int32 |  | Horizontal margins of text elements (px)
margin_height | int32 |  | Vertical margins of text elements (px)
font_size | FontSize |  | Font size of text elements
title | string |  | Optional title
subtitle | string |  | Optional subtitle
date_format | string |  | Posix strftime format string for time stamp
shading | float |  | Pixel intensity to subtract from text background (0..1), 0: transparent, 1: black

### PingerConfiguration

Pinger configuration.

Used to specify the configuration the BR 1D-Pinger.

Field | Type | Label | Description
--- | --- | --- | ---
mounting_direction | PingerConfiguration.MountingDirection |  | Mounting direction of the pinger

### PositionEstimate

Position estimate from the Extended Kalman filter based observer if a DVL is connected.

Field | Type | Label | Description
--- | --- | --- | ---
northing | float |  | Position from reset point (m)
easting | float |  | Position from reset point (m)
heading | float |  | Gyro based heading estimate (continous radians)
surge_rate | float |  | Velocity in surge (m/s)
sway_rate | float |  | Velocity in sway (m/s)
yaw_rate | float |  | Rotaion rate in yaw (rad/s)
ocean_current | float |  | Estimated ocean current (m/s)
odometer | float |  | Travelled distance since reset (m)
is_valid | bool |  | If the estimate can be trusted
global_position | LatLongPosition |  | Best estimate of the global position in decimal degrees
navigation_sensors | NavigationSensorStatus | repeated | List of available sensors with status

### RecordOn

Which cameras are supposed to be recording

Field | Type | Label | Description
--- | --- | --- | ---
main | bool |  | Record the main camera
guestport | bool |  | Record external camera

### RecordState

Camera recording state.

Field | Type | Label | Description
--- | --- | --- | ---
main_is_recording | bool |  | If the main camera is recording
main_seconds | int32 |  | Main record time (s)
guestport_is_recording | bool |  | If the guestport camera is recording
guestport_seconds | int32 |  | Guestport record time (s)

### Reference

Reference for the control system. Note that the internal heading referece is not relative to North. Use (ControlHealth.heading_error + pose.yaw) instead.

Field | Type | Label | Description
--- | --- | --- | ---
surge | float |  | Reference from joystick surge input (0..1)
sway | float |  | Reference from joystick sway input (0..1)
heave | float |  | Reference from joystick heave input (0..1)
yaw | float |  | Reference from joystick yaw input (0..1)
depth | float |  | Reference drone depth below surface (m)
heading | float |  | Reference used in auto heading mode, gyro based (°)
altitude | float |  | Reference used in auto altitude mode (m)

### ResetPositionSettings

ResetPositionSettings used during reset of the position estimate.

Field | Type | Label | Description
--- | --- | --- | ---
heading_source_during_reset | HeadingSource |  | Option to use the drone compass or due North as heading during reset
manual_heading | float |  | Heading in degrees (0-359)
reset_coordinate_source | ResetCoordinateSource |  | Option to use the device GPS or a manual coordinate.
reset_coordinate | LatLongPosition |  | Reset coordinate in decimal degrees

### StationKeepingState

Station keeping state.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If station keeping is enabled

### StorageSpace

Storage space.

Field | Type | Label | Description
--- | --- | --- | ---
total_space | int64 |  | Total bytes of storage space (B)
free_space | int64 |  | Available bytes of storage space (B)

### SystemTime

System time.

Field | Type | Label | Description
--- | --- | --- | ---
unix_timestamp | google.protobuf.Timestamp |  | Unix timestamp

### ThicknessGauge

Thickness measurement data from a Cygnus Thickness Gauge.

Field | Type | Label | Description
--- | --- | --- | ---
thickness_measurement | float |  | Thickness measurement of a steel plate
echo_count | uint32 |  | Indicating the quality of the reading when invalid (0-3)
sound_velocity | uint32 |  | Speed of sound in the steel member (m/s)
is_measurement_valid | bool |  | Indicating if the measurement is valid

### TiltAngle

Angle of tilt camera in degrees.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Tilt angle (°)

### TiltStabilizationState

Tilt stabilization state.

Blueye drones with mechanical tilt has the ability to enable camera stabilization.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If tilt stabilization is enabled

### TiltVelocity

Relative velocity of tilt

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Relative angular velocity of tilt (-1..1), negative means down and positive means up

### Vector3

Vector with 3 elements

Field | Type | Label | Description
--- | --- | --- | ---
x | double |  | x-component
y | double |  | y-component
z | double |  | z-component

### WaterDensity

Water density.

Used to specify the water density the drone is operating in, to achieve more accruate depth measurements.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Salinity (kg/l)

### WaterTemperature

Water temperature measured by the drone's combined depth and temperature sensor.

Field | Type | Label | Description
--- | --- | --- | ---
value | float |  | Water temperature (°C)

### WeatherVaningState

Weather vaning state.

Field | Type | Label | Description
--- | --- | --- | ---
enabled | bool |  | If weather vaning is enabled

### BatteryBQ40Z50.BatteryStatus.BatteryError

Battery errror code from BQ40Z50 BMS data sheet.

Name | Number | Description
--- | --- | ---
BATTERY_ERROR_UNSPECIFIED | 0 |
BATTERY_ERROR_OK | 1 |
BATTERY_ERROR_BUSY | 2 |
BATTERY_ERROR_RESERVED_COMMAND | 3 |
BATTERY_ERROR_UNSUPPORTED_COMMAND | 4 |
BATTERY_ERROR_ACCESS_DENIED | 5 |
BATTERY_ERROR_OVERFLOW_UNDERFLOW | 6 |
BATTERY_ERROR_BAD_SIZE | 7 |
BATTERY_ERROR_UNKNOWN_ERROR | 8 |

### CalibrationState.Status

Status of the compass calibration procedure.

When calibration is started, the status will indicate the active (upfacing) axis.

Name | Number | Description
--- | --- | ---
STATUS_UNSPECIFIED | 0 | Unspecified status
STATUS_NOT_CALIBRATING | 1 | Compass is not currently calibrating
STATUS_CALIBRATING_NO_AXIS | 2 | Compass is calibrating but active calibration axis cannot be determined
STATUS_CALIBRATING_X_POSITIVE | 3 | Compass is calibrating and the positive X axis is active
STATUS_CALIBRATING_X_NEGATIVE | 4 | Compass is calibrating and the negative X axis is active
STATUS_CALIBRATING_Y_POSITIVE | 5 | Compass is calibrating and the positive Y axis is active
STATUS_CALIBRATING_Y_NEGATIVE | 6 | Compass is calibrating and the negative Y axis is active
STATUS_CALIBRATING_Z_POSITIVE | 7 | Compass is calibrating and the positive Z axis is active
STATUS_CALIBRATING_Z_NEGATIVE | 8 | Compass is calibrating and the negative Z axis is active
STATUS_CALIBRATING_THRUSTER | 9 | Compass is calibrating for thruster interferance

### Camera

Which camera to control.

Name | Number | Description
--- | --- | ---
CAMERA_UNSPECIFIED | 0 | Camera not specified
CAMERA_MAIN | 1 | Main camera
CAMERA_GUESTPORT | 2 | Guestport camera

### DepthUnit

Available depth units.

Name | Number | Description
--- | --- | ---
DEPTH_UNIT_UNSPECIFIED | 0 | Depth unit not specified
DEPTH_UNIT_METERS | 1 | Depth should be displayed as meters
DEPTH_UNIT_FEET | 2 | Depth should be displayed as feet

### FontSize

Available font sizes for overlay text elements.

Name | Number | Description
--- | --- | ---
FONT_SIZE_UNSPECIFIED | 0 | Font size not specified
FONT_SIZE_PX15 | 1 | 15 px
FONT_SIZE_PX20 | 2 | 20 px
FONT_SIZE_PX25 | 3 | 25 px
FONT_SIZE_PX30 | 4 | 30 px
FONT_SIZE_PX35 | 5 | 35 px
FONT_SIZE_PX40 | 6 | 40 px

### Framerate

Available camera framerates.

Name | Number | Description
--- | --- | ---
FRAMERATE_UNSPECIFIED | 0 | Framerate not specified
FRAMERATE_FPS_30 | 1 | 30 frames per second
FRAMERATE_FPS_25 | 2 | 25 frames per second

### GuestPortDeviceID

GuestPort device ID.

Name | Number | Description
--- | --- | ---
GUEST_PORT_DEVICE_ID_UNSPECIFIED | 0 | Unspecified
GUEST_PORT_DEVICE_ID_BLIND_PLUG | 1 | Blueye blind plug
GUEST_PORT_DEVICE_ID_TEST_STATION | 2 | Blueye test station
GUEST_PORT_DEVICE_ID_DEBUG_SERIAL | 3 | Blueye debug serial
GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT | 4 | Blueye Light
GUEST_PORT_DEVICE_ID_BLUEYE_CAM | 5 | Blueye Cam
GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_LUMEN | 6 | Blue Robotics Lumen
GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_NEWTON | 7 | Blue Robotics Newton
GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING_SONAR | 8 | Blue Robotics Ping Sonar
GUEST_PORT_DEVICE_ID_BLUEPRINT_LAB_REACH_ALPHA | 9 | Blueprint Lab Reach Alpha
GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50 | 10 | Waterlinked DVL A50
GUEST_PORT_DEVICE_ID_IMPACT_SUBSEA_ISS360 | 11 | Impact Subsea ISS360 Sonar
GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_SEATRAC_X010 | 12 | Blueprint Subsea Seatrac X110
GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M750D | 13 | Blueprint Subsea Oculus M750d
GUEST_PORT_DEVICE_ID_CYGNUS_MINI_ROV_THICKNESS_GAUGE | 14 | Cygnus Mini ROV Thickness Gauge
GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING360_SONAR | 15 | Blue Robotics Ping360 Scanning Imaging Sonar
GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IM | 16 | Tritech Gemini 720im Multibeam Sonar
GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT_PAIR | 17 | Blueye Light Pair
GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_MICRON | 18 | Tritech Micron Gemini
GUEST_PORT_DEVICE_ID_OCEAN_TOOLS_DIGICP | 19 | Ocean Tools DigiCP
GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IK | 20 | Tritech Gemini 720ik Multibeam Sonar
GUEST_PORT_DEVICE_ID_NORTEK_NUCLEUS_1000 | 21 | Nortek Nucleus 1000 DVL
GUEST_PORT_DEVICE_ID_BLUEYE_GENERIC_SERVO | 22 | Blueye Generic Servo
GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO | 23 | Blueye Multibeam Servo
GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_DETACHABLE_NEWTON | 24 | Detachable Blue Robotics Newton
GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_500 | 25 | In-Situ Aqua TROLL 500
GUEST_PORT_DEVICE_ID_MEDUSA_RADIOMETRICS_MS100 | 26 | Medusa Radiometrics Gamma Ray Sensor
GUEST_PORT_DEVICE_ID_LASER_TOOLS_SEA_BEAM | 27 | Laser Tools Sea Beam Underwater Laser
GUEST_PORT_DEVICE_ID_SPOT_X_LASER_SCALERS | 28 | Spot X Laser Scalers
GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M1200D | 29 | Blueprint Subsea Oculus M1200d
GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M3000D | 30 | Blueprint Subsea Oculus M3000d
GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_100 | 31 | In-Situ Aqua TROLL 100
GUEST_PORT_DEVICE_ID_INSITU_RDO_PRO_X | 32 | In-Situ RDO PRO-X
GUEST_PORT_DEVICE_ID_INSITU_RDO_BLUE | 33 | In-Situ RDO Blue

### GuestPortError

GuestPort error.

Name | Number | Description
--- | --- | ---
GUEST_PORT_ERROR_UNSPECIFIED | 0 | Unspecified value
GUEST_PORT_ERROR_NOT_CONNECTED | 1 | Device not connected
GUEST_PORT_ERROR_READ_ERROR | 2 | EEPROM read error
GUEST_PORT_ERROR_NOT_FLASHED | 3 | Connector not flashed
GUEST_PORT_ERROR_CRC_ERROR | 4 | Wrong CRC for protobuf message
GUEST_PORT_ERROR_PARSE_ERROR | 5 | Protobuf message cannot be parsed

### GuestPortNumber

GuestPort number.

Name | Number | Description
--- | --- | ---
GUEST_PORT_NUMBER_UNSPECIFIED | 0 | Unspecified
GUEST_PORT_NUMBER_PORT_1 | 1 | Guest port 1
GUEST_PORT_NUMBER_PORT_2 | 2 | Guest port 2
GUEST_PORT_NUMBER_PORT_3 | 3 | Guest port 3

### HeadingSource

Heading source used during reset of the position estimate.

Name | Number | Description
--- | --- | ---
HEADING_SOURCE_UNSPECIFIED | 0 | Unspecified
HEADING_SOURCE_DRONE_COMPASS | 1 | Uses the drone compass to set the heading
HEADING_SOURCE_MANUAL_INPUT | 2 | Used when the user sets the heading manually

### LogoType

Available logo types.

Name | Number | Description
--- | --- | ---
LOGO_TYPE_UNSPECIFIED | 0 | Logo type not specified
LOGO_TYPE_NONE | 1 | Do not add any logo
LOGO_TYPE_DEFAULT | 2 | Add default logo
LOGO_TYPE_CUSTOM | 3 | Add user defined logo

### Model

Drone models produced by Blueye

Name | Number | Description
--- | --- | ---
MODEL_UNSPECIFIED | 0 | ModelName not specified
MODEL_PIONEER | 1 | Blueye Pioneer, the first model
MODEL_PRO | 2 | Blueye Pro, features camera tilt
MODEL_X1 | 4 | Blueye X1, features camera tilt and one guest port
MODEL_X3 | 3 | Blueye X3, features support for peripherals
MODEL_NEXT | 5 | Blueye ?

### NavigationSensorID

List of navigation sensors that can be used by the position observer

Name | Number | Description
--- | --- | ---
NAVIGATION_SENSOR_ID_UNSPECIFIED | 0 | Unspecified
NAVIGATION_SENSOR_ID_WATERLINKED_DVL_A50 | 1 | Water Linked DVL A50
NAVIGATION_SENSOR_ID_WATERLINKED_UGPS_G2 | 2 | Water Linked UGPS G2
NAVIGATION_SENSOR_ID_NMEA | 3 | NMEA stream from external positioning system

### PingerConfiguration.MountingDirection

Name | Number | Description
--- | --- | ---
MOUNTING_DIRECTION_UNSPECIFIED | 0 | Mounting direction is unspecified
MOUNTING_DIRECTION_FORWARDS | 1 | Pointing forwards from the drones perspective
MOUNTING_DIRECTION_DOWNWARDS | 2 | Pointing downwards from the drones perspective

### PressureSensorType

Depth sensors used by the drone.

Name | Number | Description
--- | --- | ---
PRESSURE_SENSOR_TYPE_UNSPECIFIED | 0 | Depth sensor type not specified
PRESSURE_SENSOR_TYPE_NOT_CONNECTED | 1 | No se
PRESSURE_SENSOR_TYPE_MS5837_30BA26 | 2 | Thh MS5837 30BA26 pressure sensor
PRESSURE_SENSOR_TYPE_KELLER_PA7LD | 3 | The extended depth sensor using the Keller PA7LD pressure sensor
PRESSURE_SENSOR_TYPE_MS5637_02BA03 | 4 | The internal pressure sensor using the MS5637 02BA03 pressure sensor

### ResetCoordinateSource

Name | Number | Description
--- | --- | ---
RESET_COORDINATE_SOURCE_UNSPECIFIED | 0 | Unspecified, fallback to device GPS
RESET_COORDINATE_SOURCE_DEVICE_GPS | 1 | Uses the device GPS to set the reset point
RESET_COORDINATE_SOURCE_MANUAL | 2 | Uses a coordinate in decimal degrees to set the reset point

### Resolution

Available camera resolutions.

Name | Number | Description
--- | --- | ---
RESOLUTION_UNSPECIFIED | 0 | Resolution not specified
RESOLUTION_FULLHD_1080P | 1 | 1080p Full HD resolution
RESOLUTION_HD_720P | 2 | 720p HD resolution

### TemperatureUnit

Available temperature units.

Name | Number | Description
--- | --- | ---
TEMPERATURE_UNIT_UNSPECIFIED | 0 | Temperature unit not specfied
TEMPERATURE_UNIT_CELSIUS | 1 | Temperature should be displayed as Celcius
TEMPERATURE_UNIT_FAHRENHEIT | 2 | Temperature should be displayed as Fahrenheit

### ThicknessUnit

Available thickness units.

Name | Number | Description
--- | --- | ---
THICKNESS_UNIT_UNSPECIFIED | 0 | Thickness unit not specified
THICKNESS_UNIT_MILLIMETERS | 1 | Thickness should be displayed as millimeters
THICKNESS_UNIT_INCHES | 2 | Thickness should be displayed as inches

Top

## req_rep.proto

Request reply

These messages define request / reply messages for the Blueye drone.

### ConnectClientRep

Response after connecting a client to the drone.

Contains information about which client is in control, and a list of all connected clients.

Field | Type | Label | Description
--- | --- | --- | ---
client_id | uint32 |  | The assigned ID of this client.
client_id_in_control | uint32 |  | The ID of the client in control of the drone.
connected_clients | ConnectedClient | repeated | List of connected clients.

### ConnectClientReq

Connect a new client to the drone.

Field | Type | Label | Description
--- | --- | --- | ---
client_info | ClientInfo |  | Information about the client connecting to the drone.

### DisconnectClientRep

Response after disconnecting a client from the drone.

Contains information about which clients are connected and in control.

Field | Type | Label | Description
--- | --- | --- | ---
client_id_in_control | uint32 |  | The ID of the client in control of the drone.
connected_clients | ConnectedClient | repeated | List of connected clients.

### DisconnectClientReq

Disconnect a client from the drone.

This request will remove the client from the list of connected clients. It allows clients to disconnect instantly, without waiting for a watchdog to clear the client in control, or promote a new client to be in control.

Field | Type | Label | Description
--- | --- | --- | ---
client_id | uint32 |  | The assigned ID of the client to disconnect.

### GetBatteryRep

Response with essential battery information.

Field | Type | Label | Description
--- | --- | --- | ---
battery | Battery |  | Essential battery information.

### GetBatteryReq

Request essential battery information.

Can be used to instantly get battery information, instead of having to wait for the BatteryTel message to be received.

### GetCameraParametersRep

Response with the currently set camera parameters.

Field | Type | Label | Description
--- | --- | --- | ---
camera_parameters | CameraParameters |  | The currently set camera parameters.

### GetCameraParametersReq

Request to get the currently set camera parameters.

Field | Type | Label | Description
--- | --- | --- | ---
camera | Camera |  | Which camera to read camera parameters from.

### GetOverlayParametersRep

Response with the currently set video overlay parameters.

Field | Type | Label | Description
--- | --- | --- | ---
overlay_parameters | OverlayParameters |  | The currently set overlay parameters.

### GetOverlayParametersReq

Request to get currently set video overlay parameters.

### GetTelemetryRep

Response with latest telemetry

Field | Type | Label | Description
--- | --- | --- | ---
payload | google.protobuf.Any |  | The latest telemetry data, empty if no data available.

### GetTelemetryReq

Request to get latest telemetry data

Field | Type | Label | Description
--- | --- | --- | ---
message_type | string |  | Message name, f. ex. "AttitudeTel"

### PingRep

Response message from a PingReq request.

### PingReq

The simplest message to use to test request/reply communication with the drone.

The drone replies with a PingRep message immediately after receiving the PingReq.

### SetCameraParametersRep

Response after setting the camera parameters.

### SetCameraParametersReq

Request to set camera parameters.

Field | Type | Label | Description
--- | --- | --- | ---
camera_parameters | CameraParameters |  | The camera parameters to apply.

### SetOverlayParametersRep

Response after setting video overlay parameters.

### SetOverlayParametersReq

Request to set video overlay parameters.

Field | Type | Label | Description
--- | --- | --- | ---
overlay_parameters | OverlayParameters |  | The video overlay parameters to apply.

### SetPubFrequencyRep

Response after updating publish frequency

Field | Type | Label | Description
--- | --- | --- | ---
success | bool |  | True if message name valid and frequency successfully updated.

### SetPubFrequencyReq

Request to update the publish frequency

Field | Type | Label | Description
--- | --- | --- | ---
message_type | string |  | Message name, f. ex. "AttitudeTel"
frequency | float |  | Publish frequency (max 100 Hz).

### SetThicknessGaugeParametersRep

Response after setting thicknes gauge parameters.

### SetThicknessGaugeParametersReq

Request to set parameters for ultrasonic thickness gauge.

The sound velocity is used to calculate the thickness of the material being measured.

Field | Type | Label | Description
--- | --- | --- | ---
sound_velocity | uint32 |  | Sound velocity in m/s

### SyncTimeRep

Response after setting the system time on the drone.

Field | Type | Label | Description
--- | --- | --- | ---
success | bool |  | If the time was set successfully.

### SyncTimeReq

Request to set the system time on the drone.

Field | Type | Label | Description
--- | --- | --- | ---
time | SystemTime |  | The time to set on the drone.

Top

## telemetry.proto

Telemetry

These messages define telemetry messages from the Blueye drone.

### AltitudeTel

Receive the current altitude of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
altitude | Altitude |  | The altitude of the drone.

### AquaTrollProbeMetadataTel

Metadata from the In-Situ Aqua Troll probe's common registers

Field | Type | Label | Description
--- | --- | --- | ---
probe | AquaTrollProbeMetadata |  | AquaTroll message containing sensor array.

### AquaTrollSensorMetadataTel

Metadata from a single sensor from In-Situ Aqua Troll probe

Field | Type | Label | Description
--- | --- | --- | ---
sensors | AquaTrollSensorMetadataArray |  | AquaTroll message containing sensor array.

### AquaTrollSensorParametersTel

Single sensor from In-Situ Aqua Troll probe

Field | Type | Label | Description
--- | --- | --- | ---
sensors | AquaTrollSensorParametersArray |  | AquaTroll message containing parameter array.

### AttitudeTel

Receive the current attitude of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
attitude | Attitude |  | The attitude of the drone.

### BatteryBQ40Z50Tel

Receive detailed information about a battery using the BQ40Z50 battery management system.

Field | Type | Label | Description
--- | --- | --- | ---
battery | BatteryBQ40Z50 |  | Detailed battery information.

### BatteryTel

Receive essential information about the battery status.

Field | Type | Label | Description
--- | --- | --- | ---
battery | Battery |  | Essential battery information.

### CPUTemperatureTel

Field | Type | Label | Description
--- | --- | --- | ---
temperature | CPUTemperature |  |

### CalibratedImuTel

Calibrated IMU data

Field | Type | Label | Description
--- | --- | --- | ---
imu | Imu |  |

### CalibrationStateTel

Field | Type | Label | Description
--- | --- | --- | ---
calibration_state | CalibrationState |  |

### CanisterBottomHumidityTel

Receive humidity information from the bottom canister.

Field | Type | Label | Description
--- | --- | --- | ---
humidity | CanisterHumidity |  | Humidity information

### CanisterBottomTemperatureTel

Receive temperature information from the bottom canister.

Field | Type | Label | Description
--- | --- | --- | ---
temperature | CanisterTemperature |  | Temperature information.

### CanisterTopHumidityTel

Receive humidity information from the top canister.

Field | Type | Label | Description
--- | --- | --- | ---
humidity | CanisterHumidity |  | Humidity information

### CanisterTopTemperatureTel

Receive temperature information from the top canister.

Field | Type | Label | Description
--- | --- | --- | ---
temperature | CanisterTemperature |  | Temperature information.

### ConnectedClientsTel

List of connected clients telemetry message.

Field | Type | Label | Description
--- | --- | --- | ---
client_id_in_control | uint32 |  | The client id of the client in control.
connected_clients | ConnectedClient | repeated | List of connected clients.

### ControlForceTel

Field | Type | Label | Description
--- | --- | --- | ---
control_force | ControlForce |  |

### ControlModeTel

Receive the current state of the control system.

Field | Type | Label | Description
--- | --- | --- | ---
state | ControlMode |  | State of the control system.

### ControllerHealthTel

Field | Type | Label | Description
--- | --- | --- | ---
controller_health | ControllerHealth |  |

### CpProbeTel

Cathodic Protection Potential probe telemetry message

Field | Type | Label | Description
--- | --- | --- | ---
cp_probe | CpProbe |  | Reading from cp probe.

### DataStorageSpaceTel

Field | Type | Label | Description
--- | --- | --- | ---
storage_space | StorageSpace |  |

### DepthTel

Field | Type | Label | Description
--- | --- | --- | ---
depth | Depth |  |

### DiveTimeTel

Receive the dive time of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
dive_time | DiveTime |  | The current dive time of the drone.

### DroneInfoTel

Receive metadata and information about the connected drone.

Field | Type | Label | Description
--- | --- | --- | ---
drone_info | DroneInfo |  | Various metadata such as software versions and serial number.

### DroneTimeTel

Receive time information from the drone.

Field | Type | Label | Description
--- | --- | --- | ---
real_time_clock | SystemTime |  | The real-time clock of the drone.
monotonic_clock | SystemTime |  | The monotonic clock of the drone (time since power on).

### ErrorFlagsTel

Receive currently set error flags.

Field | Type | Label | Description
--- | --- | --- | ---
error_flags | ErrorFlags |  | Currently set error flags on the drone.

### ForwardDistanceTel

Field | Type | Label | Description
--- | --- | --- | ---
forward_distance | ForwardDistance |  |

### GenericServoTel

State of a generic servo

Field | Type | Label | Description
--- | --- | --- | ---
servo | GenericServo |  | Servo state

### GuestPortCurrentTel

GuestPort current readings

Field | Type | Label | Description
--- | --- | --- | ---
current | GuestPortCurrent |  |

### GuestPortLightsTel

Receive the status of any guest port lights connected to the drone.

Field | Type | Label | Description
--- | --- | --- | ---
lights | Lights |  |

### Imu1Tel

Raw IMU data from IMU 1

Field | Type | Label | Description
--- | --- | --- | ---
imu | Imu |  |

### Imu2Tel

Raw IMU data from IMU 2

Field | Type | Label | Description
--- | --- | --- | ---
imu | Imu |  |

### IperfTel

Field | Type | Label | Description
--- | --- | --- | ---
status | IperfStatus |  |

### LaserTel

Receive the status of any lasers connected to the drone.

Field | Type | Label | Description
--- | --- | --- | ---
laser | Laser |  |

### LightsTel

Receive the status of the main lights of the drone.

Field | Type | Label | Description
--- | --- | --- | ---
lights | Lights |  |

### MedusaSpectrometerDataTel

Medusa gamma ray sensor spectrometer data

Field | Type | Label | Description
--- | --- | --- | ---
data | MedusaSpectrometerData |  |

### MultibeamServoTel

State of the servo installed in the multibeam

Field | Type | Label | Description
--- | --- | --- | ---
servo | MultibeamServo |  | Multibeam servo state

### NStreamersTel

Field | Type | Label | Description
--- | --- | --- | ---
n_streamers | NStreamers |  |

### PilotGPSPositionTel

Field | Type | Label | Description
--- | --- | --- | ---
position | LatLongPosition |  |

### PositionEstimateTel

Field | Type | Label | Description
--- | --- | --- | ---
position_estimate | PositionEstimate |  |

### RecordStateTel

Field | Type | Label | Description
--- | --- | --- | ---
record_state | RecordState |  |

### ReferenceTel

Field | Type | Label | Description
--- | --- | --- | ---
reference | Reference |  |

### ThicknessGaugeTel

Thickness gauge measurement telemetry message.

Field | Type | Label | Description
--- | --- | --- | ---
thickness_gauge | ThicknessGauge |  | Tickness measurement with a cygnus gauge.

### TiltAngleTel

Field | Type | Label | Description
--- | --- | --- | ---
angle | TiltAngle |  |

### TiltStabilizationTel

Field | Type | Label | Description
--- | --- | --- | ---
state | TiltStabilizationState |  |

### VideoStorageSpaceTel

Field | Type | Label | Description
--- | --- | --- | ---
storage_space | StorageSpace |  |

### WaterTemperatureTel

Field | Type | Label | Description
--- | --- | --- | ---
temperature | WaterTemperature |  |

## Scalar Value Types

.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby
--- | --- | --- | --- | --- | --- | --- | --- | ---
double |  | double | double | float | float64 | double | float | Float
float |  | float | float | float | float32 | float | float | Float
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required)
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required)
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required)
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required)
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required)
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required)
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum
bool |  | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8)
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT)