Message Formats - Blueye SDK

Skip to content

# Message Formats

## `` message_formats

Classes:

- `Altitude` –

  Drone altitude over seabed, typically obtained from a DVL.

- `Attitude` –

  The attitude of the drone.

- `AutoAltitudeState` –

  Auto altitude state.

- `AutoDepthState` –

  Auto depth state.

- `AutoHeadingState` –

  Auto heading state.

- `AutoPilotHeaveState` –

  Auto pilot heave state.

- `AutoPilotSurgeYawState` –

  Auto pilot surge yaw state.

- `Battery` –

  Essential battery information.

- `BatteryBQ40Z50` –

  Battery information message.

- `BinlogRecord` –

  Wrapper message for each entry in the drone telemetry

- `CPUInfo` –

  CPU information.

- `CPUTemperature` –

  CPU temperature.

- `CalibrationState` –

  Compass calibration state.

- `Camera` –

  Which camera to control.

- `CameraParameters` –

  Camera parameters.

- `CanisterHumidity` –

  Canister humidity.

- `CanisterTemperature` –

  Canister temperature.

- `ClientInfo` –

  Information about a remote client.

- `ConnectedClient` –

  Information about a connected client with an id assigned by

- `ConnectionDuration` –

  Connection duration of a remote client.

- `ControlForce` –

  Control Force is used for showing the requested control force

- `ControlMode` –

  Control mode from drone supervisor

- `ControllerHealth` –

  Controller health is used for showing the state of the

- `CpProbe` –

  Reading from a Cathodic Protection Potential probe.

- `Depth` –

  Water depth of the drone.

- `DepthUnit` –

  Available depth units.

- `DiveTime` –

  Amount of time the drone has been submerged.

- `DroneInfo` –

  Information about the drone.

- `DvlTransducer` –

  DVL raw transducer data.

- `DvlVelocity` –

  DVL raw velocity data.

- `ErrorFlags` –

  Known error states for the drone.

- `FontSize` –

  Available font sizes for overlay text elements.

- `ForwardDistance` –

  Distance to an object in front of the drone.

- `Framerate` –

  Available camera frame rates.

- `GenericServo` –

  Servo message used to represent the angle of the servo.

- `GripperVelocities` –

  Gripper velocity values.

- `GuestPortConnectorInfo` –

  GuestPort connector information.

- `GuestPortCurrent` –

  GuestPort current readings.

- `GuestPortDetachStatus` –

  Status for guest port devices that can be attached and

- `GuestPortDevice` –

  Information about a device connected to one of the guest

- `GuestPortDeviceID` –

  Complete set of supported guest port devices.

- `GuestPortDeviceList` –

  List of guest port devices.

- `GuestPortError` –

  GuestPort error types.

- `GuestPortInfo` –

  GuestPort information.

- `GuestPortNumber` –

  Guest port number.

- `GuestPortRestartInfo` –

  GuestPort restart information.

- `HeadingMode` –

  Heading mode used during dead reckoning with a DVL.

- `HeadingSource` –

  Heading source used during reset of the position estimate.

- `Imu` –

  Imu data in drone body frame.

- `IntervalType` –

  Interval type for time-lapse photos.

- `IperfStatus` –

  Connection speed between drone and Surface Unit.

- `KernelLogEntry` –

  Attributes:

- `Laser` –

  Laser message used to represent the intensity of connected

- `LatLongPosition` –

  Latitude and longitude position in WGS 84 decimal degrees

- `Lights` –

  Lights message used to represent the intensity of the main

- `LocationSource` –

  Location source used in magnetic declination look-up.

- `LogEntry` –

  Log entry

- `LogoType` –

  Available logo types.

- `MagneticDeclination` –

  The Magnetic Declination status used to get true North

- `MedusaSpectrometerData` –

  Medusa gamma ray sensor spectrometer data.

- `Model` –

  Drone models produced by Blueye.

- `MotionInput` –

  If you use both values at the same time they cancel each

- `MultibeamConfig` –

  Configuration message for sonar devices.

- `MultibeamDiscovery` –

  Discovery message for multibeam sonar devices.

- `MultibeamErrorFlags` –

  Error flags for multibeam sonar devices.

- `MultibeamFrameOffset` –

  Frame offset for multibeam recordings index cache.

- `MultibeamFrequencyMode` –

  The frequency mode to use for multibeam devices with dual

- `MultibeamPing` –

  Multibeam sonar ping.

- `MultibeamServo` –

  Servo message used to represent the angle of the servo.

- `MutltibeamRecordingIndex` –

  Multibeam recording index cache.

- `NStreamers` –

  Number of spectators connected to video stream.

- `NavigationSensorID` –

  List of navigation sensors that can be used by the position

- `NavigationSensorStatus` –

  Navigation sensor used in the position observer with validity

- `Notification` –

  Notification is used for displaying info, warnings, and

- `NotificationLevel` –

  List of available notification levels.

- `NotificationType` –

  Notification is used for displaying info, warnings, and

- `OverlayParameters` –

  Overlay parameters.

- `PersistentStorageSettings` –

  PersistentStorageSettings defines settings for writing

- `PingerConfiguration` –

  Pinger configuration.

- `PositionEstimate` –

  Position estimate from the Extended Kalman filter based

- `PressureSensorType` –

  Depth sensors used by the drone.

- `RecordOn` –

  Which cameras or multibeam are supposed to be recording.

- `RecordState` –

  Camera recording state.

- `Reference` –

  Reference for the control system. Note that the internal heading

- `RemovableStorageDevice` –

  Removable storage device.

- `RemovableStorageErrorFlags` –

  Error flags related to a removable storage device.

- `ResetCoordinateSource` –

  The coordinate source to use when resetting the position

- `ResetPositionSettings` –

  Settings used when resetting the position estimate.

- `Resolution` –

  Available camera resolutions.

- `StationKeepingState` –

  Station keeping state.

- `StorageLocation` –

  Storage location.

- `StoragePartition` –

  Storage partition.

- `StorageSpace` –

  Storage space.

- `StreamingProtocol` –

  Attributes:

- `SurfaceUnitBatteryInfo` –

  Surface Unit battery information.

- `SurfaceUnitVersionInfo` –

  Surface Unit version information.

- `SystemTime` –

  System time.

- `TemperatureUnit` –

  Available temperature units.

- `ThicknessGauge` –

  Thickness measurement data from a Cygnus Thickness Gauge.

- `ThicknessUnit` –

  Available thickness units.

- `TiltAngle` –

  Angle of tilt camera in degrees.

- `TiltStabilizationState` –

  Tilt stabilization state.

- `TiltVelocity` –

  Relative velocity of tilt.

- `TimeLapseState` –

  Time-lapse state published if time-lapse mission is running.

- `Vector3` –

  Vector with 3 elements.

- `WaterDensity` –

  Water density.

- `WaterTemperature` –

  Water temperature measured by the drone's combined depth and

- `WeatherVaningState` –

  Weather vaning state.

### `` Altitude

Drone altitude over seabed, typically obtained from a DVL.

#### `` is_valid `class-attribute` `instance-attribute`

    is_valid: bool = Field(BOOL, number=2)

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` Attitude

The attitude of the drone.

#### `` pitch `class-attribute` `instance-attribute`

    pitch: float = Field(FLOAT, number=2)

#### `` roll `class-attribute` `instance-attribute`

    roll: float = Field(FLOAT, number=1)

#### `` yaw `class-attribute` `instance-attribute`

    yaw: float = Field(FLOAT, number=3)

### `` AutoAltitudeState

Auto altitude state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` AutoDepthState

Auto depth state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` AutoHeadingState

Auto heading state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` AutoPilotHeaveState

Auto pilot heave state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` AutoPilotSurgeYawState

Auto pilot surge yaw state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` Battery

Essential battery information.

#### `` level `class-attribute` `instance-attribute`

    level: float = Field(FLOAT, number=2)

#### `` temperature `class-attribute` `instance-attribute`

    temperature: float = Field(FLOAT, number=3)

#### `` voltage `class-attribute` `instance-attribute`

    voltage: float = Field(FLOAT, number=1)

### `` BatteryBQ40Z50

Battery information message.

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

Classes:

- `BatteryChargingEvents` –

  Attributes:

- `BatteryLifetimes` –

  Attributes:

- `BatterySafetyEvents` –

  Attributes:

- `BatteryStatus` –

  Battery status from BQ40Z50 ref data sheet 0x16.

- `Temperature` –

  Battery temperature.

- `Voltage` –

  Battery voltage levels.

#### `` absolute_state_of_charge `class-attribute` `instance-attribute`

    absolute_state_of_charge: float = Field(FLOAT, number=9)

#### `` average_current `class-attribute` `instance-attribute`

    average_current: float = Field(FLOAT, number=7)

#### `` average_time_to_empty `class-attribute` `instance-attribute`

    average_time_to_empty: int = Field(UINT32, number=13)

#### `` average_time_to_full `class-attribute` `instance-attribute`

    average_time_to_full: int = Field(UINT32, number=14)

#### `` calculated_state_of_charge `class-attribute` `instance-attribute`

    calculated_state_of_charge: float = Field(FLOAT, number=26)

#### `` charging_current `class-attribute` `instance-attribute`

    charging_current: float = Field(FLOAT, number=17)

#### `` charging_events `class-attribute` `instance-attribute`

    charging_events: BatteryChargingEvents = Field(
        MESSAGE, number=29, message=BatteryChargingEvents
    )

#### `` charging_voltage `class-attribute` `instance-attribute`

    charging_voltage: float = Field(FLOAT, number=18)

#### `` current `class-attribute` `instance-attribute`

    current: float = Field(FLOAT, number=6)

#### `` cycle_count `class-attribute` `instance-attribute`

    cycle_count: int = Field(UINT32, number=19)

#### `` design_capacity `class-attribute` `instance-attribute`

    design_capacity: float = Field(FLOAT, number=20)

#### `` device_chemistry `class-attribute` `instance-attribute`

    device_chemistry: str = Field(STRING, number=25)

#### `` device_name `class-attribute` `instance-attribute`

    device_name: str = Field(STRING, number=24)

#### `` full_charge_capacity `class-attribute` `instance-attribute`

    full_charge_capacity: float = Field(FLOAT, number=11)

#### `` lifetimes `class-attribute` `instance-attribute`

    lifetimes: BatteryLifetimes = Field(
        MESSAGE, number=27, message=BatteryLifetimes
    )

#### `` manufacture_date `class-attribute` `instance-attribute`

    manufacture_date: Timestamp = Field(
        MESSAGE, number=21, message=Timestamp
    )

#### `` manufacturer_name `class-attribute` `instance-attribute`

    manufacturer_name: str = Field(STRING, number=23)

#### `` relative_state_of_charge `class-attribute` `instance-attribute`

    relative_state_of_charge: float = Field(FLOAT, number=8)

#### `` remaining_capacity `class-attribute` `instance-attribute`

    remaining_capacity: float = Field(FLOAT, number=10)

#### `` runtime_to_empty `class-attribute` `instance-attribute`

    runtime_to_empty: int = Field(UINT32, number=12)

#### `` safety_events `class-attribute` `instance-attribute`

    safety_events: BatterySafetyEvents = Field(
        MESSAGE, number=28, message=BatterySafetyEvents
    )

#### `` serial_number `class-attribute` `instance-attribute`

    serial_number: int = Field(UINT32, number=22)

#### `` status `class-attribute` `instance-attribute`

    status: BatteryStatus = Field(
        MESSAGE, number=4, message=BatteryStatus
    )

#### `` temperature `class-attribute` `instance-attribute`

    temperature: Temperature = Field(
        MESSAGE, number=2, message=Temperature
    )

#### `` voltage `class-attribute` `instance-attribute`

    voltage: Voltage = Field(MESSAGE, number=1, message=Voltage)

#### `` BatteryChargingEvents

##### `` charge_termination_events_count `class-attribute` `instance-attribute`

    charge_termination_events_count: int = Field(
        UINT32, number=1
    )

##### `` charge_termination_last_event `class-attribute` `instance-attribute`

    charge_termination_last_event: int = Field(UINT32, number=2)

#### `` BatteryLifetimes

Classes:

- `CellVoltages` –

  Attributes:

##### `` max_avg_discharge_current `class-attribute` `instance-attribute`

    max_avg_discharge_current: float = Field(FLOAT, number=6)

##### `` max_avg_discharge_power `class-attribute` `instance-attribute`

    max_avg_discharge_power: float = Field(FLOAT, number=7)

##### `` max_cell_temperature `class-attribute` `instance-attribute`

    max_cell_temperature: float = Field(FLOAT, number=8)

##### `` max_cell_voltages `class-attribute` `instance-attribute`

    max_cell_voltages: (
        "BatteryBQ40Z50.BatteryLifetimes.CellVoltages"
    ) = Field(
        MESSAGE,
        number=1,
        message="BatteryBQ40Z50.BatteryLifetimes.CellVoltages",
    )

##### `` max_charge_current `class-attribute` `instance-attribute`

    max_charge_current: float = Field(FLOAT, number=4)

##### `` max_delta_cell_temperature `class-attribute` `instance-attribute`

    max_delta_cell_temperature: float = Field(FLOAT, number=10)

##### `` max_delta_cell_voltage `class-attribute` `instance-attribute`

    max_delta_cell_voltage: float = Field(FLOAT, number=3)

##### `` max_discharge_current `class-attribute` `instance-attribute`

    max_discharge_current: float = Field(FLOAT, number=5)

##### `` max_temperature_fet `class-attribute` `instance-attribute`

    max_temperature_fet: float = Field(FLOAT, number=13)

##### `` max_temperature_internal_sensor `class-attribute` `instance-attribute`

    max_temperature_internal_sensor: float = Field(
        FLOAT, number=11
    )

##### `` min_cell_temperature `class-attribute` `instance-attribute`

    min_cell_temperature: float = Field(FLOAT, number=9)

##### `` min_cell_voltages `class-attribute` `instance-attribute`

    min_cell_voltages: (
        "BatteryBQ40Z50.BatteryLifetimes.CellVoltages"
    ) = Field(
        MESSAGE,
        number=2,
        message="BatteryBQ40Z50.BatteryLifetimes.CellVoltages",
    )

##### `` min_temperature_internal_sensor `class-attribute` `instance-attribute`

    min_temperature_internal_sensor: float = Field(
        FLOAT, number=12
    )

##### `` CellVoltages

###### `` cell_1 `class-attribute` `instance-attribute`

    cell_1: float = Field(FLOAT, number=1)

###### `` cell_2 `class-attribute` `instance-attribute`

    cell_2: float = Field(FLOAT, number=2)

###### `` cell_3 `class-attribute` `instance-attribute`

    cell_3: float = Field(FLOAT, number=3)

###### `` cell_4 `class-attribute` `instance-attribute`

    cell_4: float = Field(FLOAT, number=4)

#### `` BatterySafetyEvents

##### `` aold_events_count `class-attribute` `instance-attribute`

    aold_events_count: int = Field(UINT32, number=13)

##### `` aold_last_event `class-attribute` `instance-attribute`

    aold_last_event: int = Field(UINT32, number=14)

##### `` ascc_events_count `class-attribute` `instance-attribute`

    ascc_events_count: int = Field(UINT32, number=17)

##### `` ascc_last_event `class-attribute` `instance-attribute`

    ascc_last_event: int = Field(UINT32, number=18)

##### `` ascd_events_count `class-attribute` `instance-attribute`

    ascd_events_count: int = Field(UINT32, number=15)

##### `` ascd_last_event `class-attribute` `instance-attribute`

    ascd_last_event: int = Field(UINT32, number=16)

##### `` cov_events_count `class-attribute` `instance-attribute`

    cov_events_count: int = Field(UINT32, number=1)

##### `` cov_last_event `class-attribute` `instance-attribute`

    cov_last_event: int = Field(UINT32, number=2)

##### `` cuv_events_count `class-attribute` `instance-attribute`

    cuv_events_count: int = Field(UINT32, number=3)

##### `` cuv_last_event `class-attribute` `instance-attribute`

    cuv_last_event: int = Field(UINT32, number=4)

##### `` occ1_events_count `class-attribute` `instance-attribute`

    occ1_events_count: int = Field(UINT32, number=9)

##### `` occ1_last_event `class-attribute` `instance-attribute`

    occ1_last_event: int = Field(UINT32, number=10)

##### `` occ2_events_count `class-attribute` `instance-attribute`

    occ2_events_count: int = Field(UINT32, number=11)

##### `` occ2_last_event `class-attribute` `instance-attribute`

    occ2_last_event: int = Field(UINT32, number=12)

##### `` ocd1_events_count `class-attribute` `instance-attribute`

    ocd1_events_count: int = Field(UINT32, number=5)

##### `` ocd1_last_event `class-attribute` `instance-attribute`

    ocd1_last_event: int = Field(UINT32, number=6)

##### `` ocd2_events_count `class-attribute` `instance-attribute`

    ocd2_events_count: int = Field(UINT32, number=7)

##### `` ocd2_last_event `class-attribute` `instance-attribute`

    ocd2_last_event: int = Field(UINT32, number=8)

##### `` otc_events_count `class-attribute` `instance-attribute`

    otc_events_count: int = Field(UINT32, number=19)

##### `` otc_last_event `class-attribute` `instance-attribute`

    otc_last_event: int = Field(UINT32, number=20)

##### `` otd_events_count `class-attribute` `instance-attribute`

    otd_events_count: int = Field(UINT32, number=21)

##### `` otd_last_event `class-attribute` `instance-attribute`

    otd_last_event: int = Field(UINT32, number=22)

##### `` otf_events_count `class-attribute` `instance-attribute`

    otf_events_count: int = Field(UINT32, number=23)

##### `` otf_last_event `class-attribute` `instance-attribute`

    otf_last_event: int = Field(UINT32, number=24)

#### `` BatteryStatus

Battery status from BQ40Z50 ref data sheet 0x16.

Classes:

- `BatteryError` –

  Battery error code from BQ40Z50 BMS data sheet.

##### `` discharging_or_relax `class-attribute` `instance-attribute`

    discharging_or_relax: bool = Field(BOOL, number=8)

##### `` error `class-attribute` `instance-attribute`

    error: "BatteryBQ40Z50.BatteryStatus.BatteryError" = Field(
        ENUM,
        number=11,
        enum="BatteryBQ40Z50.BatteryStatus.BatteryError",
    )

##### `` fully_charged `class-attribute` `instance-attribute`

    fully_charged: bool = Field(BOOL, number=9)

##### `` fully_discharged `class-attribute` `instance-attribute`

    fully_discharged: bool = Field(BOOL, number=10)

##### `` initialization `class-attribute` `instance-attribute`

    initialization: bool = Field(BOOL, number=7)

##### `` over_temperature_alarm `class-attribute` `instance-attribute`

    over_temperature_alarm: bool = Field(BOOL, number=3)

##### `` overcharged_alarm `class-attribute` `instance-attribute`

    overcharged_alarm: bool = Field(BOOL, number=1)

##### `` remaining_capacity_alarm `class-attribute` `instance-attribute`

    remaining_capacity_alarm: bool = Field(BOOL, number=5)

##### `` remaining_time_alarm `class-attribute` `instance-attribute`

    remaining_time_alarm: bool = Field(BOOL, number=6)

##### `` terminate_charge_alarm `class-attribute` `instance-attribute`

    terminate_charge_alarm: bool = Field(BOOL, number=2)

##### `` terminate_discharge_alarm `class-attribute` `instance-attribute`

    terminate_discharge_alarm: bool = Field(BOOL, number=4)

##### `` BatteryError

Battery error code from BQ40Z50 BMS data sheet.

###### `` BATTERY_ERROR_ACCESS_DENIED `class-attribute` `instance-attribute`

    BATTERY_ERROR_ACCESS_DENIED = 5

###### `` BATTERY_ERROR_BAD_SIZE `class-attribute` `instance-attribute`

    BATTERY_ERROR_BAD_SIZE = 7

###### `` BATTERY_ERROR_BUSY `class-attribute` `instance-attribute`

    BATTERY_ERROR_BUSY = 2

###### `` BATTERY_ERROR_OK `class-attribute` `instance-attribute`

    BATTERY_ERROR_OK = 1

###### `` BATTERY_ERROR_OVERFLOW_UNDERFLOW `class-attribute` `instance-attribute`

    BATTERY_ERROR_OVERFLOW_UNDERFLOW = 6

###### `` BATTERY_ERROR_RESERVED_COMMAND `class-attribute` `instance-attribute`

    BATTERY_ERROR_RESERVED_COMMAND = 3

###### `` BATTERY_ERROR_UNKNOWN_ERROR `class-attribute` `instance-attribute`

    BATTERY_ERROR_UNKNOWN_ERROR = 8

###### `` BATTERY_ERROR_UNSPECIFIED `class-attribute` `instance-attribute`

    BATTERY_ERROR_UNSPECIFIED = 0

###### `` BATTERY_ERROR_UNSUPPORTED_COMMAND `class-attribute` `instance-attribute`

    BATTERY_ERROR_UNSUPPORTED_COMMAND = 4

#### `` Temperature

Battery temperature.

##### `` average `class-attribute` `instance-attribute`

    average: float = Field(FLOAT, number=1)

##### `` cell_1 `class-attribute` `instance-attribute`

    cell_1: float = Field(FLOAT, number=2)

##### `` cell_2 `class-attribute` `instance-attribute`

    cell_2: float = Field(FLOAT, number=3)

##### `` cell_3 `class-attribute` `instance-attribute`

    cell_3: float = Field(FLOAT, number=4)

##### `` cell_4 `class-attribute` `instance-attribute`

    cell_4: float = Field(FLOAT, number=5)

#### `` Voltage

Battery voltage levels.

##### `` cell_1 `class-attribute` `instance-attribute`

    cell_1: float = Field(FLOAT, number=2)

##### `` cell_2 `class-attribute` `instance-attribute`

    cell_2: float = Field(FLOAT, number=3)

##### `` cell_3 `class-attribute` `instance-attribute`

    cell_3: float = Field(FLOAT, number=4)

##### `` cell_4 `class-attribute` `instance-attribute`

    cell_4: float = Field(FLOAT, number=5)

##### `` total `class-attribute` `instance-attribute`

    total: float = Field(FLOAT, number=1)

### `` 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.

#### `` clock_monotonic `class-attribute` `instance-attribute`

    clock_monotonic: Timestamp = Field(
        MESSAGE, number=3, message=Timestamp
    )

#### `` payload `class-attribute` `instance-attribute`

    payload: Any = Field(MESSAGE, number=1, message=Any)

#### `` unix_timestamp `class-attribute` `instance-attribute`

    unix_timestamp: Timestamp = Field(
        MESSAGE, number=2, message=Timestamp
    )

### `` CPUInfo

CPU information.

Contains information about the CPU load and memory usage of the drone.

#### `` comm_queue_load `class-attribute` `instance-attribute`

    comm_queue_load: float = Field(FLOAT, number=5)

#### `` cpu_load `class-attribute` `instance-attribute`

    cpu_load: float = Field(FLOAT, number=1)

#### `` guestport_queue_load `class-attribute` `instance-attribute`

    guestport_queue_load: float = Field(FLOAT, number=4)

#### `` main_queue_load `class-attribute` `instance-attribute`

    main_queue_load: float = Field(FLOAT, number=3)

#### `` memory_bus_load `class-attribute` `instance-attribute`

    memory_bus_load: float = Field(FLOAT, number=2)

### `` CPUTemperature

CPU temperature.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` CalibrationState

Compass calibration state.

Classes:

- `Status` –

  Status of the compass calibration procedure.

#### `` progress_thruster `class-attribute` `instance-attribute`

    progress_thruster: float = Field(FLOAT, number=8)

#### `` progress_x_negative `class-attribute` `instance-attribute`

    progress_x_negative: float = Field(FLOAT, number=3)

#### `` progress_x_positive `class-attribute` `instance-attribute`

    progress_x_positive: float = Field(FLOAT, number=2)

#### `` progress_y_negative `class-attribute` `instance-attribute`

    progress_y_negative: float = Field(FLOAT, number=5)

#### `` progress_y_positive `class-attribute` `instance-attribute`

    progress_y_positive: float = Field(FLOAT, number=4)

#### `` progress_z_negative `class-attribute` `instance-attribute`

    progress_z_negative: float = Field(FLOAT, number=7)

#### `` progress_z_positive `class-attribute` `instance-attribute`

    progress_z_positive: float = Field(FLOAT, number=6)

#### `` status `class-attribute` `instance-attribute`

    status: Status = Field(ENUM, number=1, enum=Status)

#### `` Status

Status of the compass calibration procedure.

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

##### `` STATUS_CALIBRATING_NO_AXIS `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_NO_AXIS = 2

Compass is calibrating but active calibration axis cannot be determined.

##### `` STATUS_CALIBRATING_THRUSTER `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_THRUSTER = 9

Compass is calibrating for thruster interference.

##### `` STATUS_CALIBRATING_X_NEGATIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_X_NEGATIVE = 4

Compass is calibrating and the negative X axis is active.

##### `` STATUS_CALIBRATING_X_POSITIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_X_POSITIVE = 3

Compass is calibrating and the positive X axis is active.

##### `` STATUS_CALIBRATING_Y_NEGATIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_Y_NEGATIVE = 6

Compass is calibrating and the negative Y axis is active.

##### `` STATUS_CALIBRATING_Y_POSITIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_Y_POSITIVE = 5

Compass is calibrating and the positive Y axis is active.

##### `` STATUS_CALIBRATING_Z_NEGATIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_Z_NEGATIVE = 8

Compass is calibrating and the negative Z axis is active.

##### `` STATUS_CALIBRATING_Z_POSITIVE `class-attribute` `instance-attribute`

    STATUS_CALIBRATING_Z_POSITIVE = 7

Compass is calibrating and the positive Z axis is active.

##### `` STATUS_NOT_CALIBRATING `class-attribute` `instance-attribute`

    STATUS_NOT_CALIBRATING = 1

Compass is not currently calibrating.

##### `` STATUS_UNSPECIFIED `class-attribute` `instance-attribute`

    STATUS_UNSPECIFIED = 0

Unspecified status.

### `` Camera

Which camera to control.

#### `` CAMERA_GUESTPORT `class-attribute` `instance-attribute`

    CAMERA_GUESTPORT = 2

Guest port camera.

#### `` CAMERA_MAIN `class-attribute` `instance-attribute`

    CAMERA_MAIN = 1

Main camera.

#### `` CAMERA_UNSPECIFIED `class-attribute` `instance-attribute`

    CAMERA_UNSPECIFIED = 0

Camera not specified.

### `` CameraParameters

Camera parameters.

#### `` backlight_compensation `class-attribute` `instance-attribute`

    backlight_compensation: int = Field(INT32, number=17)

#### `` brightness `class-attribute` `instance-attribute`

    brightness: int = Field(INT32, number=12)

#### `` camera `class-attribute` `instance-attribute`

    camera: 'Camera' = Field(ENUM, number=8, enum='Camera')

#### `` contrast `class-attribute` `instance-attribute`

    contrast: int = Field(INT32, number=13)

#### `` denoise `class-attribute` `instance-attribute`

    denoise: int = Field(INT32, number=18)

#### `` ehdr_enabled `class-attribute` `instance-attribute`

    ehdr_enabled: bool = Field(BOOL, number=21)

#### `` ehdr_exposure_max_number `class-attribute` `instance-attribute`

    ehdr_exposure_max_number: int = Field(INT32, number=23)

#### `` ehdr_exposure_min_number `class-attribute` `instance-attribute`

    ehdr_exposure_min_number: int = Field(INT32, number=22)

#### `` exposure `class-attribute` `instance-attribute`

    exposure: int = Field(INT32, number=3)

#### `` framerate `class-attribute` `instance-attribute`

    framerate: "Framerate" = Field(
        ENUM, number=7, enum="Framerate"
    )

#### `` gain `class-attribute` `instance-attribute`

    gain: float = Field(FLOAT, number=9)

#### `` gamma `class-attribute` `instance-attribute`

    gamma: int = Field(INT32, number=15)

#### `` h264_bitrate `class-attribute` `instance-attribute`

    h264_bitrate: int = Field(INT32, number=1)

#### `` hue `class-attribute` `instance-attribute`

    hue: int = Field(INT32, number=5)

#### `` mjpg_bitrate `class-attribute` `instance-attribute`

    mjpg_bitrate: int = Field(INT32, number=2)

#### `` recording_resolution `class-attribute` `instance-attribute`

    recording_resolution: "Resolution" = Field(
        ENUM, number=11, enum="Resolution"
    )

#### `` resolution `class-attribute` `instance-attribute`

    resolution: "Resolution" = Field(
        ENUM, number=6, enum="Resolution"
    )

#### `` saturation `class-attribute` `instance-attribute`

    saturation: int = Field(INT32, number=14)

#### `` sharpness `class-attribute` `instance-attribute`

    sharpness: int = Field(INT32, number=16)

#### `` stream_resolution `class-attribute` `instance-attribute`

    stream_resolution: "Resolution" = Field(
        ENUM, number=10, enum="Resolution"
    )

#### `` streaming_protocol `class-attribute` `instance-attribute`

    streaming_protocol: "StreamingProtocol" = Field(
        ENUM, number=20, enum="StreamingProtocol"
    )

#### `` white_balance `class-attribute` `instance-attribute`

    white_balance: int = Field(INT32, number=4)

### `` CanisterHumidity

Canister humidity.

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

#### `` humidity `class-attribute` `instance-attribute`

    humidity: float = Field(FLOAT, number=3)

### `` CanisterTemperature

Canister temperature.

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

#### `` temperature `class-attribute` `instance-attribute`

    temperature: float = Field(FLOAT, number=3)

### `` ClientInfo

Information about a remote client.

#### `` device_type `class-attribute` `instance-attribute`

    device_type: str = Field(STRING, number=3)

#### `` is_observer `class-attribute` `instance-attribute`

    is_observer: bool = Field(BOOL, number=7)

#### `` name `class-attribute` `instance-attribute`

    name: str = Field(STRING, number=6)

#### `` platform `class-attribute` `instance-attribute`

    platform: str = Field(STRING, number=4)

#### `` platform_version `class-attribute` `instance-attribute`

    platform_version: str = Field(STRING, number=5)

#### `` type_ `class-attribute` `instance-attribute`

    type_: str = Field(STRING, number=1)

#### `` version `class-attribute` `instance-attribute`

    version: str = Field(STRING, number=2)

### `` ConnectedClient

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

#### `` client_id `class-attribute` `instance-attribute`

    client_id: int = Field(UINT32, number=1)

#### `` client_info `class-attribute` `instance-attribute`

    client_info: "ClientInfo" = Field(
        MESSAGE, number=2, message="ClientInfo"
    )

### `` ConnectionDuration

Connection duration of a remote client.

#### `` value `class-attribute` `instance-attribute`

    value: int = Field(INT32, number=1)

### `` ControlForce

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

#### `` heave `class-attribute` `instance-attribute`

    heave: float = Field(FLOAT, number=3)

#### `` surge `class-attribute` `instance-attribute`

    surge: float = Field(FLOAT, number=1)

#### `` sway `class-attribute` `instance-attribute`

    sway: float = Field(FLOAT, number=2)

#### `` yaw `class-attribute` `instance-attribute`

    yaw: float = Field(FLOAT, number=4)

### `` ControlMode

Control mode from drone supervisor

#### `` auto_altitude `class-attribute` `instance-attribute`

    auto_altitude: bool = Field(BOOL, number=3)

#### `` auto_depth `class-attribute` `instance-attribute`

    auto_depth: bool = Field(BOOL, number=1)

#### `` auto_heading `class-attribute` `instance-attribute`

    auto_heading: bool = Field(BOOL, number=2)

#### `` auto_pilot_heave `class-attribute` `instance-attribute`

    auto_pilot_heave: bool = Field(BOOL, number=7)

#### `` auto_pilot_surge_yaw `class-attribute` `instance-attribute`

    auto_pilot_surge_yaw: bool = Field(BOOL, number=6)

#### `` station_keeping `class-attribute` `instance-attribute`

    station_keeping: bool = Field(BOOL, number=4)

#### `` weather_vaning `class-attribute` `instance-attribute`

    weather_vaning: bool = Field(BOOL, number=5)

### `` ControllerHealth

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

#### `` depth_error `class-attribute` `instance-attribute`

    depth_error: float = Field(FLOAT, number=1)

#### `` depth_health `class-attribute` `instance-attribute`

    depth_health: float = Field(FLOAT, number=2)

#### `` heading_error `class-attribute` `instance-attribute`

    heading_error: float = Field(FLOAT, number=3)

#### `` heading_health `class-attribute` `instance-attribute`

    heading_health: float = Field(FLOAT, number=4)

### `` CpProbe

Reading from a Cathodic Protection Potential probe.

#### `` is_measurement_valid `class-attribute` `instance-attribute`

    is_measurement_valid: bool = Field(BOOL, number=2)

#### `` measurement `class-attribute` `instance-attribute`

    measurement: float = Field(FLOAT, number=1)

### `` Depth

Water depth of the drone.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` DepthUnit

Available depth units.

#### `` DEPTH_UNIT_FEET `class-attribute` `instance-attribute`

    DEPTH_UNIT_FEET = 2

Depth should be displayed as feet.

#### `` DEPTH_UNIT_METERS `class-attribute` `instance-attribute`

    DEPTH_UNIT_METERS = 1

Depth should be displayed as meters.

#### `` DEPTH_UNIT_UNSPECIFIED `class-attribute` `instance-attribute`

    DEPTH_UNIT_UNSPECIFIED = 0

Depth unit not specified.

### `` DiveTime

Amount of time the drone has been submerged.

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

#### `` value `class-attribute` `instance-attribute`

    value: int = Field(INT32, number=1)

### `` 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.

#### `` bb_serial `class-attribute` `instance-attribute`

    bb_serial: bytes = Field(BYTES, number=6)

#### `` bb_uid `class-attribute` `instance-attribute`

    bb_uid: bytes = Field(BYTES, number=8)

#### `` blunux_version `class-attribute` `instance-attribute`

    blunux_version: str = Field(STRING, number=1)

#### `` depth_sensor `class-attribute` `instance-attribute`

    depth_sensor: "PressureSensorType" = Field(
        ENUM, number=11, enum="PressureSensorType"
    )

#### `` ds_serial `class-attribute` `instance-attribute`

    ds_serial: bytes = Field(BYTES, number=10)

#### `` gp `class-attribute` `instance-attribute`

    gp: "GuestPortInfo" = Field(
        MESSAGE, number=9, message="GuestPortInfo"
    )

#### `` hardware_id `class-attribute` `instance-attribute`

    hardware_id: bytes = Field(BYTES, number=3)

#### `` mb_serial `class-attribute` `instance-attribute`

    mb_serial: bytes = Field(BYTES, number=5)

#### `` mb_uid `class-attribute` `instance-attribute`

    mb_uid: bytes = Field(BYTES, number=7)

#### `` model `class-attribute` `instance-attribute`

    model: 'Model' = Field(ENUM, number=4, enum='Model')

#### `` serial_number `class-attribute` `instance-attribute`

    serial_number: bytes = Field(BYTES, number=2)

### `` DvlTransducer

DVL raw transducer data.

#### `` beam_valid `class-attribute` `instance-attribute`

    beam_valid: bool = Field(BOOL, number=4)

#### `` distance `class-attribute` `instance-attribute`

    distance: float = Field(FLOAT, number=3)

#### `` id `class-attribute` `instance-attribute`

    id: int = Field(INT32, number=1)

#### `` nsd `class-attribute` `instance-attribute`

    nsd: float = Field(FLOAT, number=6)

#### `` rssi `class-attribute` `instance-attribute`

    rssi: float = Field(FLOAT, number=5)

#### `` velocity `class-attribute` `instance-attribute`

    velocity: float = Field(FLOAT, number=2)

### `` DvlVelocity

DVL raw velocity data.

#### `` delta_time `class-attribute` `instance-attribute`

    delta_time: float = Field(FLOAT, number=3)

#### `` fom `class-attribute` `instance-attribute`

    fom: float = Field(FLOAT, number=4)

#### `` is_water_tracking `class-attribute` `instance-attribute`

    is_water_tracking: bool = Field(BOOL, number=6)

#### `` sensor_id `class-attribute` `instance-attribute`

    sensor_id: "NavigationSensorID" = Field(
        ENUM, number=1, enum="NavigationSensorID"
    )

#### `` status `class-attribute` `instance-attribute`

    status: int = Field(INT32, number=2)

#### `` transducers `class-attribute` `instance-attribute`

    transducers: MutableSequence["DvlTransducer"] = (
        RepeatedField(
            MESSAGE, number=7, message="DvlTransducer"
        )
    )

#### `` velocity `class-attribute` `instance-attribute`

    velocity: "Vector3" = Field(
        MESSAGE, number=5, message="Vector3"
    )

### `` ErrorFlags

Known error states for the drone.

#### `` bb_eeprom_not_flashed `class-attribute` `instance-attribute`

    bb_eeprom_not_flashed: bool = Field(BOOL, number=29)

#### `` bb_eeprom_read `class-attribute` `instance-attribute`

    bb_eeprom_read: bool = Field(BOOL, number=27)

#### `` bb_serial `class-attribute` `instance-attribute`

    bb_serial: bool = Field(BOOL, number=35)

#### `` compass_calibration `class-attribute` `instance-attribute`

    compass_calibration: bool = Field(BOOL, number=7)

#### `` depth_read `class-attribute` `instance-attribute`

    depth_read: bool = Field(BOOL, number=3)

#### `` depth_spike `class-attribute` `instance-attribute`

    depth_spike: bool = Field(BOOL, number=4)

#### `` drone_serial `class-attribute` `instance-attribute`

    drone_serial: bool = Field(BOOL, number=25)

#### `` drone_serial_not_set `class-attribute` `instance-attribute`

    drone_serial_not_set: bool = Field(BOOL, number=24)

#### `` ds_serial `class-attribute` `instance-attribute`

    ds_serial: bool = Field(BOOL, number=36)

#### `` dvl_no_power `class-attribute` `instance-attribute`

    dvl_no_power: bool = Field(BOOL, number=44)

#### `` dvl_thermal_protection_mode `class-attribute` `instance-attribute`

    dvl_thermal_protection_mode: bool = Field(BOOL, number=43)

#### `` gp1_bat_current `class-attribute` `instance-attribute`

    gp1_bat_current: bool = Field(BOOL, number=39)

#### `` gp1_device `class-attribute` `instance-attribute`

    gp1_device: bool = Field(BOOL, number=21)

#### `` gp1_device_connection `class-attribute` `instance-attribute`

    gp1_device_connection: bool = Field(BOOL, number=18)

#### `` gp1_not_flashed `class-attribute` `instance-attribute`

    gp1_not_flashed: bool = Field(BOOL, number=12)

#### `` gp1_read `class-attribute` `instance-attribute`

    gp1_read: bool = Field(BOOL, number=9)

#### `` gp1_unknown_device `class-attribute` `instance-attribute`

    gp1_unknown_device: bool = Field(BOOL, number=15)

#### `` gp2_bat_current `class-attribute` `instance-attribute`

    gp2_bat_current: bool = Field(BOOL, number=40)

#### `` gp2_device `class-attribute` `instance-attribute`

    gp2_device: bool = Field(BOOL, number=22)

#### `` gp2_device_connection `class-attribute` `instance-attribute`

    gp2_device_connection: bool = Field(BOOL, number=19)

#### `` gp2_not_flashed `class-attribute` `instance-attribute`

    gp2_not_flashed: bool = Field(BOOL, number=13)

#### `` gp2_read `class-attribute` `instance-attribute`

    gp2_read: bool = Field(BOOL, number=10)

#### `` gp2_unknown_device `class-attribute` `instance-attribute`

    gp2_unknown_device: bool = Field(BOOL, number=16)

#### `` gp3_bat_current `class-attribute` `instance-attribute`

    gp3_bat_current: bool = Field(BOOL, number=41)

#### `` gp3_device `class-attribute` `instance-attribute`

    gp3_device: bool = Field(BOOL, number=23)

#### `` gp3_device_connection `class-attribute` `instance-attribute`

    gp3_device_connection: bool = Field(BOOL, number=20)

#### `` gp3_not_flashed `class-attribute` `instance-attribute`

    gp3_not_flashed: bool = Field(BOOL, number=14)

#### `` gp3_read `class-attribute` `instance-attribute`

    gp3_read: bool = Field(BOOL, number=11)

#### `` gp3_unknown_device `class-attribute` `instance-attribute`

    gp3_unknown_device: bool = Field(BOOL, number=17)

#### `` gp_20v_current `class-attribute` `instance-attribute`

    gp_20v_current: bool = Field(BOOL, number=42)

#### `` gp_current `class-attribute` `instance-attribute`

    gp_current: bool = Field(BOOL, number=38)

#### `` gp_current_read `class-attribute` `instance-attribute`

    gp_current_read: bool = Field(BOOL, number=37)

#### `` guestport_camera_connection `class-attribute` `instance-attribute`

    guestport_camera_connection: bool = Field(BOOL, number=32)

#### `` guestport_camera_firmware `class-attribute` `instance-attribute`

    guestport_camera_firmware: bool = Field(BOOL, number=33)

#### `` hardware_not_supported `class-attribute` `instance-attribute`

    hardware_not_supported: bool = Field(BOOL, number=47)

#### `` inner_pressure_read `class-attribute` `instance-attribute`

    inner_pressure_read: bool = Field(BOOL, number=5)

#### `` inner_pressure_spike `class-attribute` `instance-attribute`

    inner_pressure_spike: bool = Field(BOOL, number=6)

#### `` main_camera_connection `class-attribute` `instance-attribute`

    main_camera_connection: bool = Field(BOOL, number=30)

#### `` main_camera_firmware `class-attribute` `instance-attribute`

    main_camera_firmware: bool = Field(BOOL, number=31)

#### `` mb_eeprom_not_flashed `class-attribute` `instance-attribute`

    mb_eeprom_not_flashed: bool = Field(BOOL, number=28)

#### `` mb_eeprom_read `class-attribute` `instance-attribute`

    mb_eeprom_read: bool = Field(BOOL, number=26)

#### `` mb_serial `class-attribute` `instance-attribute`

    mb_serial: bool = Field(BOOL, number=34)

#### `` pmu_comm_ack `class-attribute` `instance-attribute`

    pmu_comm_ack: bool = Field(BOOL, number=1)

#### `` pmu_comm_stream `class-attribute` `instance-attribute`

    pmu_comm_stream: bool = Field(BOOL, number=2)

#### `` tilt_calibration `class-attribute` `instance-attribute`

    tilt_calibration: bool = Field(BOOL, number=8)

#### `` usb_disconnect `class-attribute` `instance-attribute`

    usb_disconnect: bool = Field(BOOL, number=45)

#### `` video_urb_error `class-attribute` `instance-attribute`

    video_urb_error: bool = Field(BOOL, number=46)

### `` FontSize

Available font sizes for overlay text elements.

#### `` FONT_SIZE_PX15 `class-attribute` `instance-attribute`

    FONT_SIZE_PX15 = 1

15 px.

#### `` FONT_SIZE_PX20 `class-attribute` `instance-attribute`

    FONT_SIZE_PX20 = 2

20 px.

#### `` FONT_SIZE_PX25 `class-attribute` `instance-attribute`

    FONT_SIZE_PX25 = 3

25 px.

#### `` FONT_SIZE_PX30 `class-attribute` `instance-attribute`

    FONT_SIZE_PX30 = 4

30 px.

#### `` FONT_SIZE_PX35 `class-attribute` `instance-attribute`

    FONT_SIZE_PX35 = 5

35 px.

#### `` FONT_SIZE_PX40 `class-attribute` `instance-attribute`

    FONT_SIZE_PX40 = 6

40 px.

#### `` FONT_SIZE_UNSPECIFIED `class-attribute` `instance-attribute`

    FONT_SIZE_UNSPECIFIED = 0

Font size not specified.

### `` ForwardDistance

Distance to an object in front of the drone.

Typically obtained from a 1D pinger.

#### `` is_valid `class-attribute` `instance-attribute`

    is_valid: bool = Field(BOOL, number=2)

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` Framerate

Available camera frame rates.

#### `` FRAMERATE_FPS_25 `class-attribute` `instance-attribute`

    FRAMERATE_FPS_25 = 2

25 frames per second. (Only supported on Pioneer/Pro/X1/X3)

#### `` FRAMERATE_FPS_30 `class-attribute` `instance-attribute`

    FRAMERATE_FPS_30 = 1

30 frames per second.

#### `` FRAMERATE_UNSPECIFIED `class-attribute` `instance-attribute`

    FRAMERATE_UNSPECIFIED = 0

Framerate not specified.

### `` GenericServo

Servo message used to represent the angle of the servo.

#### `` guest_port_number `class-attribute` `instance-attribute`

    guest_port_number: "GuestPortNumber" = Field(
        ENUM, number=2, enum="GuestPortNumber"
    )

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` GripperVelocities

Gripper velocity values.

Rotating velocity is only used if the gripper supports rotation.

#### `` grip_velocity `class-attribute` `instance-attribute`

    grip_velocity: float = Field(FLOAT, number=1)

#### `` rotate_velocity `class-attribute` `instance-attribute`

    rotate_velocity: float = Field(FLOAT, number=2)

### `` GuestPortConnectorInfo

GuestPort connector information.

This message has `oneof`_ fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields

#### `` device_list `class-attribute` `instance-attribute`

    device_list: "GuestPortDeviceList" = Field(
        MESSAGE,
        number=1,
        oneof="connected_device",
        message="GuestPortDeviceList",
    )

#### `` error `class-attribute` `instance-attribute`

    error: "GuestPortError" = Field(
        ENUM,
        number=2,
        oneof="connected_device",
        enum="GuestPortError",
    )

#### `` guest_port_number `class-attribute` `instance-attribute`

    guest_port_number: "GuestPortNumber" = Field(
        ENUM, number=3, enum="GuestPortNumber"
    )

### `` GuestPortCurrent

GuestPort current readings.

#### `` gp1_bat `class-attribute` `instance-attribute`

    gp1_bat: float = Field(DOUBLE, number=1)

#### `` gp2_bat `class-attribute` `instance-attribute`

    gp2_bat: float = Field(DOUBLE, number=2)

#### `` gp3_bat `class-attribute` `instance-attribute`

    gp3_bat: float = Field(DOUBLE, number=3)

#### `` gp_20v `class-attribute` `instance-attribute`

    gp_20v: float = Field(DOUBLE, number=4)

### `` GuestPortDetachStatus

Status for guest port devices that can be attached and detached.

#### `` GUEST_PORT_DETACH_STATUS_ATTACHED `class-attribute` `instance-attribute`

    GUEST_PORT_DETACH_STATUS_ATTACHED = 1

Detachable device attached.

#### `` GUEST_PORT_DETACH_STATUS_DETACHED `class-attribute` `instance-attribute`

    GUEST_PORT_DETACH_STATUS_DETACHED = 2

Detachable device detached.

#### `` GUEST_PORT_DETACH_STATUS_UNSPECIFIED `class-attribute` `instance-attribute`

    GUEST_PORT_DETACH_STATUS_UNSPECIFIED = 0

Unspecified (Default for non-detachable devices).

### `` GuestPortDevice

Information about a device connected to one of the guest ports.

#### `` depth_rating `class-attribute` `instance-attribute`

    depth_rating: float = Field(FLOAT, number=5)

#### `` detach_status `class-attribute` `instance-attribute`

    detach_status: "GuestPortDetachStatus" = Field(
        ENUM, number=7, enum="GuestPortDetachStatus"
    )

#### `` device_id `class-attribute` `instance-attribute`

    device_id: "GuestPortDeviceID" = Field(
        ENUM, number=1, enum="GuestPortDeviceID"
    )

#### `` manufacturer `class-attribute` `instance-attribute`

    manufacturer: str = Field(STRING, number=2)

#### `` name `class-attribute` `instance-attribute`

    name: str = Field(STRING, number=3)

#### `` required_blunux_version `class-attribute` `instance-attribute`

    required_blunux_version: str = Field(STRING, number=6)

#### `` serial_number `class-attribute` `instance-attribute`

    serial_number: str = Field(STRING, number=4)

### `` GuestPortDeviceID

Complete set of supported guest port devices.

#### `` GUEST_PORT_DEVICE_ID_BLIND_PLUG `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLIND_PLUG = 1

Blueye Blind Plug.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_LAB_REACH_ALPHA `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_LAB_REACH_ALPHA = 9

Blueprint Lab Reach Alpha.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_C550D `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_C550D = 41

Blueprint Subsea Oculus C550d.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M1200D `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M1200D = 29

Blueprint Subsea Oculus M1200d.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M3000D `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M3000D = 30

Blueprint Subsea Oculus M3000d.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M370S `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M370S = 42

Blueprint Subsea Oculus M370s.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M750D `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_OCULUS_M750D = 13

Blueprint Subsea Oculus M750d.

#### `` GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_SEATRAC_X010 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEPRINT_SUBSEA_SEATRAC_X010 = 12

Blueprint Subsea Seatrac X110.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_CAM `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_CAM = 5

Blueye Camera.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_CAMERA_SERVO `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_CAMERA_SERVO = 34

Blueye Camera Servo.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_EXTERNAL_USB_STORAGE = 45

Blueye External USB Storage.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_GENERIC_SERVO `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_GENERIC_SERVO = 22

Blueye Generic Servo.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_GNSS_DEVICE `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_GNSS_DEVICE = 38

Blueye GNSS device.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT = 4

Blueye Light.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT_PAIR `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_LIGHT_PAIR = 17

Blueye Light Pair.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_HEAD_SERVO `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_HEAD_SERVO = 35

Blueye Multibeam Head Servo.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO = 23

Blueye Multibeam Skid Servo.

#### `` GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUEYE_MULTIBEAM_SERVO_V2 = 46

Blueye Multibeam Skid Servo V2.

#### `` GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_DETACHABLE_NEWTON `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_DETACHABLE_NEWTON = 24

Detachable Blue Robotics Newton.

#### `` GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_LUMEN `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_LUMEN = 6

Blue Robotics Lumen.

#### `` GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_NEWTON `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_NEWTON = 7

Blue Robotics Newton.

#### `` GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING360_SONAR `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING360_SONAR = 15

Blue Robotics Ping360 Scanning Imaging Sonar.

#### `` GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING_SONAR `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_BLUE_ROBOTICS_PING_SONAR = 8

Blue Robotics Ping Sonar.

#### `` GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450FS `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450FS = 36

Cerulean Omniscan 450 FS.

#### `` GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450SS `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450SS = 37

Cerulean Omniscan 450 SS.

#### `` GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_CERULEAN_OMNISCAN_450_COMPACT = 47

Cerulean Omniscan 450 Compact.

#### `` GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_CERULEAN_TRACKER_650 = 44

Cerulean Tracker 650.

#### `` GUEST_PORT_DEVICE_ID_CYGNUS_MINI_ROV_THICKNESS_GAUGE `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_CYGNUS_MINI_ROV_THICKNESS_GAUGE = 14

Cygnus Mini ROV Thickness Gauge.

#### `` GUEST_PORT_DEVICE_ID_DEBUG_SERIAL `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_DEBUG_SERIAL = 3

Blueye Debug Serial.

#### `` GUEST_PORT_DEVICE_ID_IMAGENEX_831L `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_IMAGENEX_831L = 40

Imagenex 831L Pipe Profiling Sonar.

#### `` GUEST_PORT_DEVICE_ID_IMPACT_SUBSEA_ISS360 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_IMPACT_SUBSEA_ISS360 = 11

Impact Subsea ISS360 Sonar.

#### `` GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_100 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_100 = 31

In-Situ Aqua TROLL 100.

#### `` GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_500 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_INSITU_AQUA_TROLL_500 = 25

In-Situ Aqua TROLL 500.

#### `` GUEST_PORT_DEVICE_ID_INSITU_RDO_BLUE `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_INSITU_RDO_BLUE = 33

In-Situ RDO Blue.

#### `` GUEST_PORT_DEVICE_ID_INSITU_RDO_PRO_X `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_INSITU_RDO_PRO_X = 32

In-Situ RDO PRO-X.

#### `` GUEST_PORT_DEVICE_ID_LASER_TOOLS_SEA_BEAM `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_LASER_TOOLS_SEA_BEAM = 27

Laser Tools Sea Beam Underwater Laser.

#### `` GUEST_PORT_DEVICE_ID_MEDUSA_RADIOMETRICS_MS100 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_MEDUSA_RADIOMETRICS_MS100 = 26

Medusa Radiometrics Gamma Ray Sensor.

#### `` GUEST_PORT_DEVICE_ID_NORTEK_NUCLEUS_1000 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_NORTEK_NUCLEUS_1000 = 21

Nortek Nucleus 1000 DVL.

#### `` GUEST_PORT_DEVICE_ID_OCEAN_TOOLS_DIGICP `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_OCEAN_TOOLS_DIGICP = 19

Ocean Tools DigiCP.

#### `` GUEST_PORT_DEVICE_ID_SPOT_X_LASER_SCALERS `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_SPOT_X_LASER_SCALERS = 28

Spot X Laser Scalers.

#### `` GUEST_PORT_DEVICE_ID_TEST_STATION `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_TEST_STATION = 2

Blueye Test Station.

#### `` GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IK `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IK = 20

Tritech Gemini 720ik Multibeam Sonar.

#### `` GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IM `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_720IM = 16

Tritech Gemini 720im Multibeam Sonar.

#### `` GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_MICRON `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_TRITECH_GEMINI_MICRON = 18

Tritech Micron Gemini.

#### `` GUEST_PORT_DEVICE_ID_UNSPECIFIED `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_UNSPECIFIED = 0

Unspecified.

#### `` GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50 = 10

Waterlinked DVL A50.

#### `` GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50_600 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_WATERLINKED_DVL_A50_600 = 39

Waterlinked DVL A50 600m.

#### `` GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 `class-attribute` `instance-attribute`

    GUEST_PORT_DEVICE_ID_WATERLINKED_SONAR_3D15 = 43

Waterlinked Sonar 3D-15.

### `` GuestPortDeviceList

List of guest port devices.

#### `` devices `class-attribute` `instance-attribute`

    devices: MutableSequence["GuestPortDevice"] = RepeatedField(
        MESSAGE, number=1, message="GuestPortDevice"
    )

### `` GuestPortError

GuestPort error types.

Only indicated errors on the guest port connector itself.

#### `` GUEST_PORT_ERROR_CRC_ERROR `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_CRC_ERROR = 4

Wrong CRC for protobuf message.

#### `` GUEST_PORT_ERROR_NOT_CONNECTED `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_NOT_CONNECTED = 1

Device not connected.

#### `` GUEST_PORT_ERROR_NOT_FLASHED `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_NOT_FLASHED = 3

Connector not flashed.

#### `` GUEST_PORT_ERROR_PARSE_ERROR `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_PARSE_ERROR = 5

Protobuf message cannot be parsed.

#### `` GUEST_PORT_ERROR_READ_ERROR `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_READ_ERROR = 2

EEPROM read error.

#### `` GUEST_PORT_ERROR_UNSPECIFIED `class-attribute` `instance-attribute`

    GUEST_PORT_ERROR_UNSPECIFIED = 0

Unspecified value.

### `` GuestPortInfo

GuestPort information.

#### `` gp1 `class-attribute` `instance-attribute`

    gp1: "GuestPortConnectorInfo" = Field(
        MESSAGE, number=1, message="GuestPortConnectorInfo"
    )

#### `` gp2 `class-attribute` `instance-attribute`

    gp2: "GuestPortConnectorInfo" = Field(
        MESSAGE, number=2, message="GuestPortConnectorInfo"
    )

#### `` gp3 `class-attribute` `instance-attribute`

    gp3: "GuestPortConnectorInfo" = Field(
        MESSAGE, number=3, message="GuestPortConnectorInfo"
    )

### `` GuestPortNumber

Guest port number.

#### `` GUEST_PORT_NUMBER_PORT_1 `class-attribute` `instance-attribute`

    GUEST_PORT_NUMBER_PORT_1 = 1

Guest port 1.

#### `` GUEST_PORT_NUMBER_PORT_2 `class-attribute` `instance-attribute`

    GUEST_PORT_NUMBER_PORT_2 = 2

Guest port 2.

#### `` GUEST_PORT_NUMBER_PORT_3 `class-attribute` `instance-attribute`

    GUEST_PORT_NUMBER_PORT_3 = 3

Guest port 3.

#### `` GUEST_PORT_NUMBER_UNSPECIFIED `class-attribute` `instance-attribute`

    GUEST_PORT_NUMBER_UNSPECIFIED = 0

Unspecified.

### `` GuestPortRestartInfo

GuestPort restart information.

#### `` power_off_duration `class-attribute` `instance-attribute`

    power_off_duration: float = Field(DOUBLE, number=1)

### `` HeadingMode

Heading mode used during dead reckoning with a DVL.

#### `` HEADING_MODE_GYRO_ONLY `class-attribute` `instance-attribute`

    HEADING_MODE_GYRO_ONLY = 2

Uses the best available gyro based heading.

#### `` HEADING_MODE_MAGNETIC_COMPASS `class-attribute` `instance-attribute`

    HEADING_MODE_MAGNETIC_COMPASS = 1

Uses the best available magnetic compass heading.

#### `` HEADING_MODE_UNSPECIFIED `class-attribute` `instance-attribute`

    HEADING_MODE_UNSPECIFIED = 0

Unspecified.

### `` HeadingSource

Heading source used during reset of the position estimate.

#### `` HEADING_SOURCE_DRONE_COMPASS `class-attribute` `instance-attribute`

    HEADING_SOURCE_DRONE_COMPASS = 1

Uses the drone magnetic compass to set the heading.

#### `` HEADING_SOURCE_MANUAL_INPUT `class-attribute` `instance-attribute`

    HEADING_SOURCE_MANUAL_INPUT = 2

Used when the user sets the heading manually.

#### `` HEADING_SOURCE_UNSPECIFIED `class-attribute` `instance-attribute`

    HEADING_SOURCE_UNSPECIFIED = 0

Unspecified.

### `` Imu

Imu data in drone body frame.

x - forward y - right z - down

#### `` accelerometer `class-attribute` `instance-attribute`

    accelerometer: "Vector3" = Field(
        MESSAGE, number=1, message="Vector3"
    )

#### `` gyroscope `class-attribute` `instance-attribute`

    gyroscope: "Vector3" = Field(
        MESSAGE, number=2, message="Vector3"
    )

#### `` magnetometer `class-attribute` `instance-attribute`

    magnetometer: "Vector3" = Field(
        MESSAGE, number=3, message="Vector3"
    )

#### `` temperature `class-attribute` `instance-attribute`

    temperature: float = Field(FLOAT, number=4)

### `` IntervalType

Interval type for time-lapse photos.

#### `` INTERVAL_TYPE_DISTANCE `class-attribute` `instance-attribute`

    INTERVAL_TYPE_DISTANCE = 2

Distance interval.

#### `` INTERVAL_TYPE_TIME `class-attribute` `instance-attribute`

    INTERVAL_TYPE_TIME = 1

Time interval.

#### `` INTERVAL_TYPE_UNSPECIFIED `class-attribute` `instance-attribute`

    INTERVAL_TYPE_UNSPECIFIED = 0

Unspecified.

### `` IperfStatus

Connection speed between drone and Surface Unit.

#### `` received `class-attribute` `instance-attribute`

    received: float = Field(FLOAT, number=2)

#### `` sent `class-attribute` `instance-attribute`

    sent: float = Field(FLOAT, number=1)

### `` KernelLogEntry

Classes:

- `KernelLogLevel` –

  Kernel log level.

- `KeyValuePair` –

  Key-value pair used for structured logging.

#### `` fields `class-attribute` `instance-attribute`

    fields: MutableSequence[KeyValuePair] = RepeatedField(
        MESSAGE, number=5, message=KeyValuePair
    )

#### `` level `class-attribute` `instance-attribute`

    level: KernelLogLevel = Field(
        ENUM, number=1, enum=KernelLogLevel
    )

#### `` messages `class-attribute` `instance-attribute`

    messages: MutableSequence[str] = RepeatedField(
        STRING, number=4
    )

#### `` seqnum `class-attribute` `instance-attribute`

    seqnum: int = Field(UINT32, number=2)

#### `` timestamp `class-attribute` `instance-attribute`

    timestamp: Timestamp = Field(
        MESSAGE, number=3, message=Timestamp
    )

#### `` KernelLogLevel

Kernel log level.

##### `` KERNEL_LOG_LEVEL_ALERT `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_ALERT = 2

Alert log level.

##### `` KERNEL_LOG_LEVEL_CRIT `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_CRIT = 3

Critical log level.

##### `` KERNEL_LOG_LEVEL_DEBUG `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_DEBUG = 8

Debug log level.

##### `` KERNEL_LOG_LEVEL_EMERG `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_EMERG = 1

Emergency log level.

##### `` KERNEL_LOG_LEVEL_ERR `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_ERR = 4

Error log level.

##### `` KERNEL_LOG_LEVEL_INFO `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_INFO = 7

Informational log level.

##### `` KERNEL_LOG_LEVEL_NOTICE `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_NOTICE = 6

Notice log level.

##### `` KERNEL_LOG_LEVEL_UNSPECIFIED `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_UNSPECIFIED = 0

Unspecified log level.

##### `` KERNEL_LOG_LEVEL_WARNING `class-attribute` `instance-attribute`

    KERNEL_LOG_LEVEL_WARNING = 5

Warning log level.

#### `` KeyValuePair

Key-value pair used for structured logging.

##### `` key `class-attribute` `instance-attribute`

    key: str = Field(STRING, number=1)

##### `` value `class-attribute` `instance-attribute`

    value: str = Field(STRING, number=2)

### `` 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.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` LatLongPosition

Latitude and longitude position in WGS 84 decimal degrees format.

#### `` latitude `class-attribute` `instance-attribute`

    latitude: float = Field(DOUBLE, number=1)

#### `` longitude `class-attribute` `instance-attribute`

    longitude: float = Field(DOUBLE, number=2)

### `` Lights

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

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` LocationSource

Location source used in magnetic declination look-up.

#### `` LOCATION_SOURCE_DRONE `class-attribute` `instance-attribute`

    LOCATION_SOURCE_DRONE = 2

Blueye GPS, DVL, or a USBL system.

#### `` LOCATION_SOURCE_UNSPECIFIED `class-attribute` `instance-attribute`

    LOCATION_SOURCE_UNSPECIFIED = 0

The position is not set.

#### `` LOCATION_SOURCE_USER `class-attribute` `instance-attribute`

    LOCATION_SOURCE_USER = 1

Typically pilot device GPS.

### `` LogEntry

Log entry

Used to store ROS log entries in the bez file

Classes:

- `LogLevel` –

  Attributes:

#### `` level `class-attribute` `instance-attribute`

    level: LogLevel = Field(ENUM, number=6, enum=LogLevel)

#### `` message `class-attribute` `instance-attribute`

    message: str = Field(STRING, number=7)

#### `` process_id `class-attribute` `instance-attribute`

    process_id: int = Field(UINT64, number=3)

#### `` process_name `class-attribute` `instance-attribute`

    process_name: str = Field(STRING, number=2)

#### `` source `class-attribute` `instance-attribute`

    source: str = Field(STRING, number=5)

#### `` thread_id `class-attribute` `instance-attribute`

    thread_id: int = Field(UINT64, number=4)

#### `` timestamp `class-attribute` `instance-attribute`

    timestamp: Timestamp = Field(
        MESSAGE, number=1, message=Timestamp
    )

#### `` LogLevel

##### `` LOG_LEVEL_CRITICAL `class-attribute` `instance-attribute`

    LOG_LEVEL_CRITICAL = 6

Critical log level.

##### `` LOG_LEVEL_DEBUG `class-attribute` `instance-attribute`

    LOG_LEVEL_DEBUG = 2

Debug log level.

##### `` LOG_LEVEL_ERROR `class-attribute` `instance-attribute`

    LOG_LEVEL_ERROR = 5

Error log level.

##### `` LOG_LEVEL_INFO `class-attribute` `instance-attribute`

    LOG_LEVEL_INFO = 3

Info log level.

##### `` LOG_LEVEL_TRACE `class-attribute` `instance-attribute`

    LOG_LEVEL_TRACE = 1

Trace log level.

##### `` LOG_LEVEL_UNSPECIFIED `class-attribute` `instance-attribute`

    LOG_LEVEL_UNSPECIFIED = 0

Unspecified log level.

##### `` LOG_LEVEL_WARNING `class-attribute` `instance-attribute`

    LOG_LEVEL_WARNING = 4

Warning log level.

### `` LogoType

Available logo types.

#### `` LOGO_TYPE_CUSTOM `class-attribute` `instance-attribute`

    LOGO_TYPE_CUSTOM = 3

Add user defined logo.

#### `` LOGO_TYPE_DEFAULT `class-attribute` `instance-attribute`

    LOGO_TYPE_DEFAULT = 2

Add default logo.

#### `` LOGO_TYPE_NONE `class-attribute` `instance-attribute`

    LOGO_TYPE_NONE = 1

Do not add any logo.

#### `` LOGO_TYPE_UNSPECIFIED `class-attribute` `instance-attribute`

    LOGO_TYPE_UNSPECIFIED = 0

Logo type not specified

### `` MagneticDeclination

The Magnetic Declination status used to get true North compass readings based on location.

#### `` declination `class-attribute` `instance-attribute`

    declination: float = Field(FLOAT, number=2)

#### `` location `class-attribute` `instance-attribute`

    location: "LatLongPosition" = Field(
        MESSAGE, number=3, message="LatLongPosition"
    )

#### `` location_source `class-attribute` `instance-attribute`

    location_source: "LocationSource" = Field(
        ENUM, number=1, enum="LocationSource"
    )

### `` MedusaSpectrometerData

Medusa gamma ray sensor spectrometer data.

#### `` cosmics `class-attribute` `instance-attribute`

    cosmics: int = Field(UINT32, number=5)

#### `` countrate `class-attribute` `instance-attribute`

    countrate: int = Field(UINT32, number=4)

#### `` drone_time `class-attribute` `instance-attribute`

    drone_time: Timestamp = Field(
        MESSAGE, number=6, message=Timestamp
    )

#### `` livetime `class-attribute` `instance-attribute`

    livetime: float = Field(FLOAT, number=2)

#### `` realtime `class-attribute` `instance-attribute`

    realtime: float = Field(FLOAT, number=1)

#### `` sensor_time `class-attribute` `instance-attribute`

    sensor_time: Timestamp = Field(
        MESSAGE, number=7, message=Timestamp
    )

#### `` total `class-attribute` `instance-attribute`

    total: int = Field(UINT32, number=3)

### `` Model

Drone models produced by Blueye.

#### `` MODEL_NEXT `class-attribute` `instance-attribute`

    MODEL_NEXT = 5

Blueye ?

#### `` MODEL_PIONEER `class-attribute` `instance-attribute`

    MODEL_PIONEER = 1

Blueye Pioneer, the first model.

#### `` MODEL_PRO `class-attribute` `instance-attribute`

    MODEL_PRO = 2

Blueye Pro, features camera tilt.

#### `` MODEL_UNSPECIFIED `class-attribute` `instance-attribute`

    MODEL_UNSPECIFIED = 0

ModelName not specified.

#### `` MODEL_X1 `class-attribute` `instance-attribute`

    MODEL_X1 = 4

Blueye X1, features camera tilt and one guest port.

#### `` MODEL_X3 `class-attribute` `instance-attribute`

    MODEL_X3 = 3

Blueye X3, features support for peripherals.

#### `` MODEL_X3_ULTRA `class-attribute` `instance-attribute`

    MODEL_X3_ULTRA = 6

Blueye X3 Ultra.

### `` MotionInput

If you use both values at the same time they cancel each other out.

#### `` boost `class-attribute` `instance-attribute`

    boost: float = Field(FLOAT, number=6)

#### `` heave `class-attribute` `instance-attribute`

    heave: float = Field(FLOAT, number=3)

#### `` pitch `class-attribute` `instance-attribute`

    pitch: float = Field(FLOAT, number=8)

#### `` roll `class-attribute` `instance-attribute`

    roll: float = Field(FLOAT, number=7)

#### `` slow `class-attribute` `instance-attribute`

    slow: float = Field(FLOAT, number=5)

#### `` surge `class-attribute` `instance-attribute`

    surge: float = Field(FLOAT, number=1)

#### `` sway `class-attribute` `instance-attribute`

    sway: float = Field(FLOAT, number=2)

#### `` yaw `class-attribute` `instance-attribute`

    yaw: float = Field(FLOAT, number=4)

### `` MultibeamConfig

Configuration message for sonar devices.

Classes:

- `MaximumNumberOfBeams` –

  The maximum number of beams to use by the multibeam sonar.

- `PingRate` –

  Defines the desired ping rate to use when capturing sonar

#### `` bandwidth_limit `class-attribute` `instance-attribute`

    bandwidth_limit: int = Field(UINT32, number=10)

#### `` device_id `class-attribute` `instance-attribute`

    device_id: "GuestPortDeviceID" = Field(
        ENUM, number=9, enum="GuestPortDeviceID"
    )

#### `` frequency_mode `class-attribute` `instance-attribute`

    frequency_mode: "MultibeamFrequencyMode" = Field(
        ENUM, number=1, enum="MultibeamFrequencyMode"
    )

#### `` gain `class-attribute` `instance-attribute`

    gain: float = Field(DOUBLE, number=7)

#### `` gain_assist `class-attribute` `instance-attribute`

    gain_assist: bool = Field(BOOL, number=4)

#### `` gain_boost `class-attribute` `instance-attribute`

    gain_boost: bool = Field(BOOL, number=11)

#### `` gamma_correction `class-attribute` `instance-attribute`

    gamma_correction: float = Field(DOUBLE, number=3)

#### `` maximum_number_of_beams `class-attribute` `instance-attribute`

    maximum_number_of_beams: MaximumNumberOfBeams = Field(
        ENUM, number=5, enum=MaximumNumberOfBeams
    )

#### `` ping_rate `class-attribute` `instance-attribute`

    ping_rate: PingRate = Field(ENUM, number=2, enum=PingRate)

#### `` range_ `class-attribute` `instance-attribute`

    range_: float = Field(DOUBLE, number=6)

#### `` salinity `class-attribute` `instance-attribute`

    salinity: float = Field(DOUBLE, number=8)

#### `` MaximumNumberOfBeams

The maximum number of beams to use by the multibeam sonar.

##### `` MAXIMUM_NUMBER_OF_BEAMS_MAX_1024 `class-attribute` `instance-attribute`

    MAXIMUM_NUMBER_OF_BEAMS_MAX_1024 = 4

1024 beams.

##### `` MAXIMUM_NUMBER_OF_BEAMS_MAX_128 `class-attribute` `instance-attribute`

    MAXIMUM_NUMBER_OF_BEAMS_MAX_128 = 1

128 beams.

##### `` MAXIMUM_NUMBER_OF_BEAMS_MAX_256 `class-attribute` `instance-attribute`

    MAXIMUM_NUMBER_OF_BEAMS_MAX_256 = 2

256 beams.

##### `` MAXIMUM_NUMBER_OF_BEAMS_MAX_512 `class-attribute` `instance-attribute`

    MAXIMUM_NUMBER_OF_BEAMS_MAX_512 = 3

512 beams.

##### `` MAXIMUM_NUMBER_OF_BEAMS_UNSPECIFIED `class-attribute` `instance-attribute`

    MAXIMUM_NUMBER_OF_BEAMS_UNSPECIFIED = 0

#### `` PingRate

Defines the desired ping rate to use when capturing sonar data.

##### `` PING_RATE_HIGH `class-attribute` `instance-attribute`

    PING_RATE_HIGH = 2

15Hz max ping rate.

##### `` PING_RATE_HIGHEST `class-attribute` `instance-attribute`

    PING_RATE_HIGHEST = 3

40Hz max ping rate.

##### `` PING_RATE_LOW `class-attribute` `instance-attribute`

    PING_RATE_LOW = 4

5Hz max ping rate.

##### `` PING_RATE_LOWEST `class-attribute` `instance-attribute`

    PING_RATE_LOWEST = 5

2Hz max ping rate.

##### `` PING_RATE_NORMAL `class-attribute` `instance-attribute`

    PING_RATE_NORMAL = 1

10Hz max ping rate.

##### `` PING_RATE_STANDBY `class-attribute` `instance-attribute`

    PING_RATE_STANDBY = 6

Disable ping.

##### `` PING_RATE_UNSPECIFIED `class-attribute` `instance-attribute`

    PING_RATE_UNSPECIFIED = 0

### `` MultibeamDiscovery

Discovery message for multibeam sonar devices.

#### `` connected_ip `class-attribute` `instance-attribute`

    connected_ip: str = Field(STRING, number=6)

#### `` device_id `class-attribute` `instance-attribute`

    device_id: "GuestPortDeviceID" = Field(
        ENUM, number=7, enum="GuestPortDeviceID"
    )

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

#### `` error_flags `class-attribute` `instance-attribute`

    error_flags: "MultibeamErrorFlags" = Field(
        MESSAGE, number=8, message="MultibeamErrorFlags"
    )

#### `` fw_version `class-attribute` `instance-attribute`

    fw_version: str = Field(STRING, number=5)

#### `` ip `class-attribute` `instance-attribute`

    ip: str = Field(STRING, number=2)

#### `` mask `class-attribute` `instance-attribute`

    mask: str = Field(STRING, number=3)

#### `` serial_number `class-attribute` `instance-attribute`

    serial_number: str = Field(STRING, number=4)

### `` MultibeamErrorFlags

Error flags for multibeam sonar devices.

#### `` connected_to_another_client `class-attribute` `instance-attribute`

    connected_to_another_client: bool = Field(BOOL, number=1)

#### `` device_overheating `class-attribute` `instance-attribute`

    device_overheating: bool = Field(BOOL, number=2)

#### `` out_of_water `class-attribute` `instance-attribute`

    out_of_water: bool = Field(BOOL, number=3)

### `` MultibeamFrameOffset

Frame offset for multibeam recordings index cache.

#### `` duration `class-attribute` `instance-attribute`

    duration: Duration = Field(
        MESSAGE, number=1, message=Duration
    )

#### `` offset `class-attribute` `instance-attribute`

    offset: int = Field(INT64, number=2)

### `` MultibeamFrequencyMode

The frequency mode to use for multibeam devices with dual frequency.

#### `` MULTIBEAM_FREQUENCY_MODE_AUTO `class-attribute` `instance-attribute`

    MULTIBEAM_FREQUENCY_MODE_AUTO = 1

Auto switching mode (if available).

#### `` MULTIBEAM_FREQUENCY_MODE_HIGH_FREQUENCY `class-attribute` `instance-attribute`

    MULTIBEAM_FREQUENCY_MODE_HIGH_FREQUENCY = 3

High frequency mode (narrow aperture, target identification).

#### `` MULTIBEAM_FREQUENCY_MODE_LOW_FREQUENCY `class-attribute` `instance-attribute`

    MULTIBEAM_FREQUENCY_MODE_LOW_FREQUENCY = 2

Low frequency mode (wide aperture, navigation).

#### `` MULTIBEAM_FREQUENCY_MODE_UNSPECIFIED `class-attribute` `instance-attribute`

    MULTIBEAM_FREQUENCY_MODE_UNSPECIFIED = 0

### `` MultibeamPing

Multibeam sonar ping.

Contains all the information for rendering a multibeam sonar frame.

#### `` bearings `class-attribute` `instance-attribute`

    bearings: MutableSequence[float] = RepeatedField(
        FLOAT, number=9
    )

#### `` device_id `class-attribute` `instance-attribute`

    device_id: "GuestPortDeviceID" = Field(
        ENUM, number=11, enum="GuestPortDeviceID"
    )

#### `` frame_generation_timestamp `class-attribute` `instance-attribute`

    frame_generation_timestamp: Timestamp = Field(
        MESSAGE, number=12, message=Timestamp
    )

#### `` frequency `class-attribute` `instance-attribute`

    frequency: float = Field(DOUBLE, number=3)

#### `` frequency_mode `class-attribute` `instance-attribute`

    frequency_mode: "MultibeamFrequencyMode" = Field(
        ENUM, number=5, enum="MultibeamFrequencyMode"
    )

#### `` gain `class-attribute` `instance-attribute`

    gain: float = Field(DOUBLE, number=2)

#### `` number_of_beams `class-attribute` `instance-attribute`

    number_of_beams: int = Field(UINT32, number=7)

#### `` number_of_ranges `class-attribute` `instance-attribute`

    number_of_ranges: int = Field(UINT32, number=6)

#### `` ping_data `class-attribute` `instance-attribute`

    ping_data: bytes = Field(BYTES, number=10)

#### `` range_ `class-attribute` `instance-attribute`

    range_: float = Field(DOUBLE, number=1)

#### `` speed_of_sound_used `class-attribute` `instance-attribute`

    speed_of_sound_used: float = Field(DOUBLE, number=4)

#### `` step `class-attribute` `instance-attribute`

    step: int = Field(UINT32, number=8)

### `` MultibeamServo

Servo message used to represent the angle of the servo.

#### `` angle `class-attribute` `instance-attribute`

    angle: float = Field(FLOAT, number=1)

### `` MutltibeamRecordingIndex

Multibeam recording index cache.

#### `` frame_offsets `class-attribute` `instance-attribute`

    frame_offsets: MutableSequence["MultibeamFrameOffset"] = (
        RepeatedField(
            MESSAGE, number=1, message="MultibeamFrameOffset"
        )
    )

### `` NStreamers

Number of spectators connected to video stream.

#### `` guestport `class-attribute` `instance-attribute`

    guestport: int = Field(INT32, number=2)

#### `` main `class-attribute` `instance-attribute`

    main: int = Field(INT32, number=1)

### `` NavigationSensorID

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

#### `` NAVIGATION_SENSOR_ID_BLUEYE_GNSS `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_BLUEYE_GNSS = 4

Blueye GNSS device on the ROV.

#### `` NAVIGATION_SENSOR_ID_CERULEAN_TRACKER_650 `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_CERULEAN_TRACKER_650 = 6

Cerulean Tracker 650.

#### `` NAVIGATION_SENSOR_ID_NMEA `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_NMEA = 3

NMEA stream from external positioning system.

#### `` NAVIGATION_SENSOR_ID_NORTEK_DVL_NUCLEUS `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_NORTEK_DVL_NUCLEUS = 5

Nortek DVL Nucleus 1000.

#### `` NAVIGATION_SENSOR_ID_UNSPECIFIED `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_UNSPECIFIED = 0

Unspecified.

#### `` NAVIGATION_SENSOR_ID_WATERLINKED_DVL_A50 `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_WATERLINKED_DVL_A50 = 1

Water Linked DVL A50.

#### `` NAVIGATION_SENSOR_ID_WATERLINKED_UGPS_G2 `class-attribute` `instance-attribute`

    NAVIGATION_SENSOR_ID_WATERLINKED_UGPS_G2 = 2

Water Linked UGPS G2.

### `` NavigationSensorStatus

Navigation sensor used in the position observer with validity state.

#### `` easting `class-attribute` `instance-attribute`

    easting: float = Field(FLOAT, number=4)

#### `` fom `class-attribute` `instance-attribute`

    fom: float = Field(FLOAT, number=6)

#### `` global_position `class-attribute` `instance-attribute`

    global_position: "LatLongPosition" = Field(
        MESSAGE, number=8, message="LatLongPosition"
    )

#### `` heading `class-attribute` `instance-attribute`

    heading: float = Field(FLOAT, number=5)

#### `` is_valid `class-attribute` `instance-attribute`

    is_valid: bool = Field(BOOL, number=2)

#### `` northing `class-attribute` `instance-attribute`

    northing: float = Field(FLOAT, number=3)

#### `` sensor_id `class-attribute` `instance-attribute`

    sensor_id: "NavigationSensorID" = Field(
        ENUM, number=1, enum="NavigationSensorID"
    )

#### `` std `class-attribute` `instance-attribute`

    std: float = Field(FLOAT, number=7)

### `` Notification

Notification is used for displaying info, warnings, and errors to the user.

#### `` level `class-attribute` `instance-attribute`

    level: "NotificationLevel" = Field(
        ENUM, number=2, enum="NotificationLevel"
    )

#### `` timestamp `class-attribute` `instance-attribute`

    timestamp: Timestamp = Field(
        MESSAGE, number=4, message=Timestamp
    )

#### `` type_ `class-attribute` `instance-attribute`

    type_: "NotificationType" = Field(
        ENUM, number=1, enum="NotificationType"
    )

#### `` value `class-attribute` `instance-attribute`

    value: Any = Field(MESSAGE, number=3, message=Any)

### `` NotificationLevel

List of available notification levels.

#### `` NOTIFICATION_LEVEL_ERROR `class-attribute` `instance-attribute`

    NOTIFICATION_LEVEL_ERROR = 3

Error.

#### `` NOTIFICATION_LEVEL_INFO `class-attribute` `instance-attribute`

    NOTIFICATION_LEVEL_INFO = 1

Information.

#### `` NOTIFICATION_LEVEL_UNSPECIFIED `class-attribute` `instance-attribute`

    NOTIFICATION_LEVEL_UNSPECIFIED = 0

Unspecified.

#### `` NOTIFICATION_LEVEL_WARNING `class-attribute` `instance-attribute`

    NOTIFICATION_LEVEL_WARNING = 2

Warning.

### `` NotificationType

Notification is used for displaying info, warnings, and errors to the user.

#### `` NOTIFICATION_TYPE_ALTITUDE_TARGET_REACHED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_ALTITUDE_TARGET_REACHED = 11

Altitude set point is reached.

#### `` NOTIFICATION_TYPE_CAMERA_ACTION `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_CAMERA_ACTION = 27

Camera action initiated.

#### `` NOTIFICATION_TYPE_DEPTH_SET_POINT_IS_TOO_FAR_AWAY `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DEPTH_SET_POINT_IS_TOO_FAR_AWAY = 13

The depth set point is too far away.

#### `` NOTIFICATION_TYPE_DEPTH_TARGET_REACHED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DEPTH_TARGET_REACHED = 10

Depth set point is reached.

#### `` NOTIFICATION_TYPE_DRONE_IS_STUCK `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DRONE_IS_STUCK = 25

Drone is stuck during a mission.

#### `` NOTIFICATION_TYPE_DRONE_POSITION_IS_UNKNOWN `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DRONE_POSITION_IS_UNKNOWN = 2

Drone position is unknown.

#### `` NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DVL_HIGH_TEMPERATURE_DETECTED = 31

DVL high temperature detected.

#### `` NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_DVL_THERMAL_PROTECTION_MODE_DETECTED = 32

DVL thermal protection mode detected.

#### `` NOTIFICATION_TYPE_FAILED_TO_LOAD_MISSION `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_FAILED_TO_LOAD_MISSION = 6

Failed to load mission.

#### `` NOTIFICATION_TYPE_GO_TO_DEPTH_SET_POINT `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_GO_TO_DEPTH_SET_POINT = 19

Go to depth set point.

#### `` NOTIFICATION_TYPE_GO_TO_SEABED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_GO_TO_SEABED = 17

Go to seabed with an altimeter.

#### `` NOTIFICATION_TYPE_GO_TO_SURFACE `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_GO_TO_SURFACE = 16

Go to surface.

#### `` NOTIFICATION_TYPE_GO_TO_WAYPOINT `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_GO_TO_WAYPOINT = 18

Go to waypoint.

#### `` NOTIFICATION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_GO_TO_WAYPOINT_WITH_DEPTH_SET_POINT = 20

Go to waypoint with depth set point.

#### `` NOTIFICATION_TYPE_INSTRUCTION_COMPLETE `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_INSTRUCTION_COMPLETE = 8

Instruction is complete.

#### `` NOTIFICATION_TYPE_INSTRUCTION_SKIPPED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_INSTRUCTION_SKIPPED = 30

When an instruction is not available in the ROV.

#### `` NOTIFICATION_TYPE_MISSION_ABORTED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_ABORTED = 24

Mission is aborted.

#### `` NOTIFICATION_TYPE_MISSION_COMPLETE `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_COMPLETE = 7

Mission is complete.

#### `` NOTIFICATION_TYPE_MISSION_LOADED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_LOADED = 5

Mission is loaded.

#### `` NOTIFICATION_TYPE_MISSION_PAUSED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_PAUSED = 22

Mission is paused.

#### `` NOTIFICATION_TYPE_MISSION_RESUMED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_RESUMED = 23

Mission is resumed.

#### `` NOTIFICATION_TYPE_MISSION_STARTED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_MISSION_STARTED = 21

Mission is started.

#### `` NOTIFICATION_TYPE_NO_MISSION_LOADED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_NO_MISSION_LOADED = 4

No mission is loaded.

#### `` NOTIFICATION_TYPE_POSITION_ESTIMATE_IS_INACCURATE `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_POSITION_ESTIMATE_IS_INACCURATE = 1

Position estimate is inaccurate.

#### `` NOTIFICATION_TYPE_RETURNING_TO_HOME `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_RETURNING_TO_HOME = 15

Returning to home.

#### `` NOTIFICATION_TYPE_SET_TILT_MAIN_CAMERA `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_SET_TILT_MAIN_CAMERA = 28

Set tilt for main camera.

#### `` NOTIFICATION_TYPE_SET_TILT_MULTIBEAM `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_SET_TILT_MULTIBEAM = 29

Set tilt for multibeam.

#### `` NOTIFICATION_TYPE_TIME_TO_COMPLETE_IS_TOO_LONG `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_TIME_TO_COMPLETE_IS_TOO_LONG = 14

The time to complete the mission is too long.

#### `` NOTIFICATION_TYPE_UNSPECIFIED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_UNSPECIFIED = 0

Unspecified.

#### `` NOTIFICATION_TYPE_USER_POSITION_IS_UNKNOWN `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_USER_POSITION_IS_UNKNOWN = 3

User position is unknown.

#### `` NOTIFICATION_TYPE_WAIT_FOR `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_WAIT_FOR = 26

Wait for instruction running.

#### `` NOTIFICATION_TYPE_WAYPOINT_IS_TOO_FAR_AWAY `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_WAYPOINT_IS_TOO_FAR_AWAY = 12

The waypoint is too far away.

#### `` NOTIFICATION_TYPE_WAYPOINT_REACHED `class-attribute` `instance-attribute`

    NOTIFICATION_TYPE_WAYPOINT_REACHED = 9

Waypoint reached.

### `` OverlayParameters

Overlay parameters.

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

#### `` altitude_enabled `class-attribute` `instance-attribute`

    altitude_enabled: bool = Field(BOOL, number=21)

#### `` cp_probe_enabled `class-attribute` `instance-attribute`

    cp_probe_enabled: bool = Field(BOOL, number=22)

#### `` date_enabled `class-attribute` `instance-attribute`

    date_enabled: bool = Field(BOOL, number=5)

#### `` date_format `class-attribute` `instance-attribute`

    date_format: str = Field(STRING, number=16)

#### `` depth_enabled `class-attribute` `instance-attribute`

    depth_enabled: bool = Field(BOOL, number=2)

#### `` depth_unit `class-attribute` `instance-attribute`

    depth_unit: "DepthUnit" = Field(
        ENUM, number=7, enum="DepthUnit"
    )

#### `` distance_enabled `class-attribute` `instance-attribute`

    distance_enabled: bool = Field(BOOL, number=20)

#### `` drone_location_enabled `class-attribute` `instance-attribute`

    drone_location_enabled: bool = Field(BOOL, number=23)

#### `` font_size `class-attribute` `instance-attribute`

    font_size: "FontSize" = Field(
        ENUM, number=12, enum="FontSize"
    )

#### `` heading_enabled `class-attribute` `instance-attribute`

    heading_enabled: bool = Field(BOOL, number=3)

#### `` logo_type `class-attribute` `instance-attribute`

    logo_type: "LogoType" = Field(
        ENUM, number=6, enum="LogoType"
    )

#### `` margin_height `class-attribute` `instance-attribute`

    margin_height: int = Field(INT32, number=11)

#### `` margin_width `class-attribute` `instance-attribute`

    margin_width: int = Field(INT32, number=10)

#### `` medusa_enabled `class-attribute` `instance-attribute`

    medusa_enabled: bool = Field(BOOL, number=24)

#### `` shading `class-attribute` `instance-attribute`

    shading: float = Field(FLOAT, number=17)

#### `` subtitle `class-attribute` `instance-attribute`

    subtitle: str = Field(STRING, number=14)

#### `` temperature_enabled `class-attribute` `instance-attribute`

    temperature_enabled: bool = Field(BOOL, number=1)

#### `` temperature_unit `class-attribute` `instance-attribute`

    temperature_unit: "TemperatureUnit" = Field(
        ENUM, number=8, enum="TemperatureUnit"
    )

#### `` thickness_enabled `class-attribute` `instance-attribute`

    thickness_enabled: bool = Field(BOOL, number=18)

#### `` thickness_unit `class-attribute` `instance-attribute`

    thickness_unit: "ThicknessUnit" = Field(
        ENUM, number=19, enum="ThicknessUnit"
    )

#### `` tilt_enabled `class-attribute` `instance-attribute`

    tilt_enabled: bool = Field(BOOL, number=4)

#### `` timezone_offset `class-attribute` `instance-attribute`

    timezone_offset: int = Field(INT32, number=9)

#### `` title `class-attribute` `instance-attribute`

    title: str = Field(STRING, number=13)

### `` PersistentStorageSettings

PersistentStorageSettings defines settings for writing various types of data in the persistent storage on the drone. Some of the data is written during factory calibration (acc calibration), while other data is written during user calubration or during normal operation.

#### `` acc_calibration `class-attribute` `instance-attribute`

    acc_calibration: bool = Field(BOOL, number=9)

#### `` binlog `class-attribute` `instance-attribute`

    binlog: bool = Field(BOOL, number=3)

#### `` compass_calibration `class-attribute` `instance-attribute`

    compass_calibration: bool = Field(BOOL, number=8)

#### `` control_system_log `class-attribute` `instance-attribute`

    control_system_log: bool = Field(BOOL, number=6)

#### `` gyro_calibration `class-attribute` `instance-attribute`

    gyro_calibration: bool = Field(BOOL, number=7)

#### `` images `class-attribute` `instance-attribute`

    images: bool = Field(BOOL, number=2)

#### `` multibeam `class-attribute` `instance-attribute`

    multibeam: bool = Field(BOOL, number=4)

#### `` videos `class-attribute` `instance-attribute`

    videos: bool = Field(BOOL, number=1)

#### `` webserver_log `class-attribute` `instance-attribute`

    webserver_log: bool = Field(BOOL, number=5)

### `` PingerConfiguration

Pinger configuration.

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

Classes:

- `MountingDirection` –

  Attributes:

#### `` mounting_direction `class-attribute` `instance-attribute`

    mounting_direction: MountingDirection = Field(
        ENUM, number=1, enum=MountingDirection
    )

#### `` MountingDirection

##### `` MOUNTING_DIRECTION_DOWNWARDS `class-attribute` `instance-attribute`

    MOUNTING_DIRECTION_DOWNWARDS = 2

Pointing downwards from the drones perspective.

##### `` MOUNTING_DIRECTION_FORWARDS `class-attribute` `instance-attribute`

    MOUNTING_DIRECTION_FORWARDS = 1

Pointing forwards from the drones perspective.

##### `` MOUNTING_DIRECTION_UNSPECIFIED `class-attribute` `instance-attribute`

    MOUNTING_DIRECTION_UNSPECIFIED = 0

Mounting direction is unspecified.

### `` PositionEstimate

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

#### `` accuracy `class-attribute` `instance-attribute`

    accuracy: float = Field(FLOAT, number=15)

#### `` course_over_ground `class-attribute` `instance-attribute`

    course_over_ground: float = Field(FLOAT, number=13)

#### `` easting `class-attribute` `instance-attribute`

    easting: float = Field(FLOAT, number=2)

#### `` global_position `class-attribute` `instance-attribute`

    global_position: "LatLongPosition" = Field(
        MESSAGE, number=10, message="LatLongPosition"
    )

#### `` heading `class-attribute` `instance-attribute`

    heading: float = Field(FLOAT, number=3)

#### `` is_valid `class-attribute` `instance-attribute`

    is_valid: bool = Field(BOOL, number=9)

#### `` navigation_sensors `class-attribute` `instance-attribute`

    navigation_sensors: MutableSequence[
        "NavigationSensorStatus"
    ] = RepeatedField(
        MESSAGE, number=11, message="NavigationSensorStatus"
    )

#### `` northing `class-attribute` `instance-attribute`

    northing: float = Field(FLOAT, number=1)

#### `` ocean_current `class-attribute` `instance-attribute`

    ocean_current: float = Field(FLOAT, number=7)

#### `` odometer `class-attribute` `instance-attribute`

    odometer: float = Field(FLOAT, number=8)

#### `` speed_over_ground `class-attribute` `instance-attribute`

    speed_over_ground: float = Field(FLOAT, number=12)

#### `` surge_rate `class-attribute` `instance-attribute`

    surge_rate: float = Field(FLOAT, number=4)

#### `` sway_rate `class-attribute` `instance-attribute`

    sway_rate: float = Field(FLOAT, number=5)

#### `` time_since_reset_sec `class-attribute` `instance-attribute`

    time_since_reset_sec: int = Field(INT32, number=14)

#### `` yaw_rate `class-attribute` `instance-attribute`

    yaw_rate: float = Field(FLOAT, number=6)

### `` PressureSensorType

Depth sensors used by the drone.

#### `` PRESSURE_SENSOR_TYPE_KELLER_PA7LD `class-attribute` `instance-attribute`

    PRESSURE_SENSOR_TYPE_KELLER_PA7LD = 3

The extended depth sensor using the Keller PA7LD pressure sensor.

#### `` PRESSURE_SENSOR_TYPE_MS5637_02BA03 `class-attribute` `instance-attribute`

    PRESSURE_SENSOR_TYPE_MS5637_02BA03 = 4

The internal pressure sensor using the MS5637 02BA03 pressure sensor.

#### `` PRESSURE_SENSOR_TYPE_MS5837_30BA26 `class-attribute` `instance-attribute`

    PRESSURE_SENSOR_TYPE_MS5837_30BA26 = 2

Thh MS5837 30BA26 pressure sensor.

#### `` PRESSURE_SENSOR_TYPE_NOT_CONNECTED `class-attribute` `instance-attribute`

    PRESSURE_SENSOR_TYPE_NOT_CONNECTED = 1

No sensor connected.

#### `` PRESSURE_SENSOR_TYPE_UNSPECIFIED `class-attribute` `instance-attribute`

    PRESSURE_SENSOR_TYPE_UNSPECIFIED = 0

Depth sensor type not specified.

### `` RecordOn

Which cameras or multibeam are supposed to be recording.

#### `` guestport `class-attribute` `instance-attribute`

    guestport: bool = Field(BOOL, number=2)

#### `` main `class-attribute` `instance-attribute`

    main: bool = Field(BOOL, number=1)

#### `` multibeam `class-attribute` `instance-attribute`

    multibeam: bool = Field(BOOL, number=3)

### `` RecordState

Camera recording state.

#### `` guestport_fps `class-attribute` `instance-attribute`

    guestport_fps: float = Field(FLOAT, number=8)

#### `` guestport_is_recording `class-attribute` `instance-attribute`

    guestport_is_recording: bool = Field(BOOL, number=3)

#### `` guestport_seconds `class-attribute` `instance-attribute`

    guestport_seconds: int = Field(INT32, number=4)

#### `` main_fps `class-attribute` `instance-attribute`

    main_fps: float = Field(FLOAT, number=7)

#### `` main_is_recording `class-attribute` `instance-attribute`

    main_is_recording: bool = Field(BOOL, number=1)

#### `` main_seconds `class-attribute` `instance-attribute`

    main_seconds: int = Field(INT32, number=2)

#### `` multibeam_fps `class-attribute` `instance-attribute`

    multibeam_fps: float = Field(FLOAT, number=9)

#### `` multibeam_is_recording `class-attribute` `instance-attribute`

    multibeam_is_recording: bool = Field(BOOL, number=5)

#### `` multibeam_seconds `class-attribute` `instance-attribute`

    multibeam_seconds: int = Field(INT32, number=6)

#### `` storage_location `class-attribute` `instance-attribute`

    storage_location: "StorageLocation" = Field(
        ENUM, number=10, enum="StorageLocation"
    )

### `` Reference

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

#### `` altitude `class-attribute` `instance-attribute`

    altitude: float = Field(FLOAT, number=7)

#### `` depth `class-attribute` `instance-attribute`

    depth: float = Field(FLOAT, number=5)

#### `` heading `class-attribute` `instance-attribute`

    heading: float = Field(FLOAT, number=6)

#### `` heave `class-attribute` `instance-attribute`

    heave: float = Field(FLOAT, number=3)

#### `` surge `class-attribute` `instance-attribute`

    surge: float = Field(FLOAT, number=1)

#### `` sway `class-attribute` `instance-attribute`

    sway: float = Field(FLOAT, number=2)

#### `` yaw `class-attribute` `instance-attribute`

    yaw: float = Field(FLOAT, number=4)

### `` RemovableStorageDevice

Removable storage device.

Classes:

- `Status` –

  Overall status of the storage device.

#### `` device_path `class-attribute` `instance-attribute`

    device_path: str = Field(STRING, number=3)

#### `` error_flags `class-attribute` `instance-attribute`

    error_flags: "RemovableStorageErrorFlags" = Field(
        MESSAGE, number=5, message="RemovableStorageErrorFlags"
    )

#### `` model_name `class-attribute` `instance-attribute`

    model_name: str = Field(STRING, number=2)

#### `` partitions `class-attribute` `instance-attribute`

    partitions: MutableSequence["StoragePartition"] = (
        RepeatedField(
            MESSAGE, number=6, message="StoragePartition"
        )
    )

#### `` status `class-attribute` `instance-attribute`

    status: Status = Field(ENUM, number=4, enum=Status)

#### `` vendor_name `class-attribute` `instance-attribute`

    vendor_name: str = Field(STRING, number=1)

#### `` Status

Overall status of the storage device.

##### `` STATUS_ERROR `class-attribute` `instance-attribute`

    STATUS_ERROR = 3

The storage device is in an error state.

##### `` STATUS_FORMATTING `class-attribute` `instance-attribute`

    STATUS_FORMATTING = 2

The storage device is being formatted

##### `` STATUS_READY `class-attribute` `instance-attribute`

    STATUS_READY = 1

The storage device is valid and ready for use.

##### `` STATUS_UNSPECIFIED `class-attribute` `instance-attribute`

    STATUS_UNSPECIFIED = 0

Unspecified.

### `` RemovableStorageErrorFlags

Error flags related to a removable storage device.

#### `` device_is_read_only `class-attribute` `instance-attribute`

    device_is_read_only: bool = Field(BOOL, number=5)

#### `` error_message `class-attribute` `instance-attribute`

    error_message: str = Field(STRING, number=1)

#### `` formatting_failed `class-attribute` `instance-attribute`

    formatting_failed: bool = Field(BOOL, number=6)

#### `` multiple_partitions_found `class-attribute` `instance-attribute`

    multiple_partitions_found: bool = Field(BOOL, number=3)

#### `` no_partitions_found `class-attribute` `instance-attribute`

    no_partitions_found: bool = Field(BOOL, number=2)

#### `` wrong_file_system_found `class-attribute` `instance-attribute`

    wrong_file_system_found: bool = Field(BOOL, number=4)

### `` ResetCoordinateSource

The coordinate source to use when resetting the position estimate.

#### `` RESET_COORDINATE_SOURCE_BLUEYE_GNSS `class-attribute` `instance-attribute`

    RESET_COORDINATE_SOURCE_BLUEYE_GNSS = 3

Uses the Blueye GNSS to set the reset point

#### `` RESET_COORDINATE_SOURCE_DEVICE_GPS `class-attribute` `instance-attribute`

    RESET_COORDINATE_SOURCE_DEVICE_GPS = 1

Uses the device GPS to set the reset point

#### `` RESET_COORDINATE_SOURCE_MANUAL `class-attribute` `instance-attribute`

    RESET_COORDINATE_SOURCE_MANUAL = 2

Uses a coordinate in decimal degrees to set the reset point

#### `` RESET_COORDINATE_SOURCE_UNSPECIFIED `class-attribute` `instance-attribute`

    RESET_COORDINATE_SOURCE_UNSPECIFIED = 0

Unspecified, fallback to device GPS

### `` ResetPositionSettings

Settings used when resetting the position estimate.

#### `` heading_mode `class-attribute` `instance-attribute`

    heading_mode: "HeadingMode" = Field(
        ENUM, number=5, enum="HeadingMode"
    )

#### `` heading_source_during_reset `class-attribute` `instance-attribute`

    heading_source_during_reset: "HeadingSource" = Field(
        ENUM, number=1, enum="HeadingSource"
    )

#### `` manual_heading `class-attribute` `instance-attribute`

    manual_heading: float = Field(FLOAT, number=2)

#### `` reset_coordinate `class-attribute` `instance-attribute`

    reset_coordinate: "LatLongPosition" = Field(
        MESSAGE, number=4, message="LatLongPosition"
    )

#### `` reset_coordinate_source `class-attribute` `instance-attribute`

    reset_coordinate_source: "ResetCoordinateSource" = Field(
        ENUM, number=3, enum="ResetCoordinateSource"
    )

### `` Resolution

Available camera resolutions.

#### `` RESOLUTION_FULLHD_1080P `class-attribute` `instance-attribute`

    RESOLUTION_FULLHD_1080P = 1

1080p Full HD (1920x1080).

#### `` RESOLUTION_HD_720P `class-attribute` `instance-attribute`

    RESOLUTION_HD_720P = 2

720p HD (1280x720).

#### `` RESOLUTION_UHD_4K `class-attribute` `instance-attribute`

    RESOLUTION_UHD_4K = 3

4K Ultra HD (3840x2160, Only supported on X3 Ultra).

#### `` RESOLUTION_UNSPECIFIED `class-attribute` `instance-attribute`

    RESOLUTION_UNSPECIFIED = 0

Resolution not specified.

#### `` RESOLUTION_VGA_480P `class-attribute` `instance-attribute`

    RESOLUTION_VGA_480P = 4

VGA (640x480).

### `` StationKeepingState

Station keeping state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` StorageLocation

Storage location.

Used to specify which storage location to use for recording photos and videos.

#### `` STORAGE_LOCATION_INTERNAL `class-attribute` `instance-attribute`

    STORAGE_LOCATION_INTERNAL = 1

Internal storage of the drone.

#### `` STORAGE_LOCATION_REMOVABLE `class-attribute` `instance-attribute`

    STORAGE_LOCATION_REMOVABLE = 2

Removable storage device.

#### `` STORAGE_LOCATION_UNSPECIFIED `class-attribute` `instance-attribute`

    STORAGE_LOCATION_UNSPECIFIED = 0

Unspecified.

### `` StoragePartition

Storage partition.

#### `` device_path `class-attribute` `instance-attribute`

    device_path: str = Field(STRING, number=3)

#### `` file_system_type `class-attribute` `instance-attribute`

    file_system_type: str = Field(STRING, number=2)

#### `` label `class-attribute` `instance-attribute`

    label: str = Field(STRING, number=5)

#### `` mount_path `class-attribute` `instance-attribute`

    mount_path: str = Field(STRING, number=4)

#### `` storage_space `class-attribute` `instance-attribute`

    storage_space: "StorageSpace" = Field(
        MESSAGE, number=1, message="StorageSpace"
    )

### `` StorageSpace

Storage space.

#### `` free_space `class-attribute` `instance-attribute`

    free_space: int = Field(INT64, number=2)

#### `` total_space `class-attribute` `instance-attribute`

    total_space: int = Field(INT64, number=1)

### `` StreamingProtocol

#### `` STREAMING_PROTOCOL_RTSP_H264 `class-attribute` `instance-attribute`

    STREAMING_PROTOCOL_RTSP_H264 = 1

RTSP streaming protocol using H264 codec.

#### `` STREAMING_PROTOCOL_RTSP_MJPEG `class-attribute` `instance-attribute`

    STREAMING_PROTOCOL_RTSP_MJPEG = 2

RTSP streaming protocol using MJPEG codec. No recording when activated.

#### `` STREAMING_PROTOCOL_UNSPECIFIED `class-attribute` `instance-attribute`

    STREAMING_PROTOCOL_UNSPECIFIED = 0

Streaming protocol not specified.

### `` SurfaceUnitBatteryInfo

Surface Unit battery information.

This message is published by the Surface Unit, and re-published by the drone over the communication protocol.

Classes:

- `ChargeStatus` –

  Attributes:

#### `` level `class-attribute` `instance-attribute`

    level: float = Field(FLOAT, number=2)

#### `` status `class-attribute` `instance-attribute`

    status: ChargeStatus = Field(
        ENUM, number=1, enum=ChargeStatus
    )

#### `` ChargeStatus

##### `` CHARGE_STATUS_CHARGE `class-attribute` `instance-attribute`

    CHARGE_STATUS_CHARGE = 2

##### `` CHARGE_STATUS_CHARGE_ERROR `class-attribute` `instance-attribute`

    CHARGE_STATUS_CHARGE_ERROR = 3

##### `` CHARGE_STATUS_DISCHARGE `class-attribute` `instance-attribute`

    CHARGE_STATUS_DISCHARGE = 1

##### `` CHARGE_STATUS_UNSPECIFIED `class-attribute` `instance-attribute`

    CHARGE_STATUS_UNSPECIFIED = 0

### `` SurfaceUnitVersionInfo

Surface Unit version information.

This message is published by the Surface Unit, and re-published by the drone over the communication protocol.

#### `` version `class-attribute` `instance-attribute`

    version: str = Field(STRING, number=1)

### `` SystemTime

System time.

#### `` unix_timestamp `class-attribute` `instance-attribute`

    unix_timestamp: Timestamp = Field(
        MESSAGE, number=1, message=Timestamp
    )

### `` TemperatureUnit

Available temperature units.

#### `` TEMPERATURE_UNIT_CELSIUS `class-attribute` `instance-attribute`

    TEMPERATURE_UNIT_CELSIUS = 1

Temperature should be displayed as Celsius.

#### `` TEMPERATURE_UNIT_FAHRENHEIT `class-attribute` `instance-attribute`

    TEMPERATURE_UNIT_FAHRENHEIT = 2

Temperature should be displayed as Fahrenheit.

#### `` TEMPERATURE_UNIT_UNSPECIFIED `class-attribute` `instance-attribute`

    TEMPERATURE_UNIT_UNSPECIFIED = 0

Temperature unit not specified.

### `` ThicknessGauge

Thickness measurement data from a Cygnus Thickness Gauge.

#### `` echo_count `class-attribute` `instance-attribute`

    echo_count: int = Field(UINT32, number=2)

#### `` is_measurement_valid `class-attribute` `instance-attribute`

    is_measurement_valid: bool = Field(BOOL, number=4)

#### `` sound_velocity `class-attribute` `instance-attribute`

    sound_velocity: int = Field(UINT32, number=3)

#### `` thickness_measurement `class-attribute` `instance-attribute`

    thickness_measurement: float = Field(FLOAT, number=1)

### `` ThicknessUnit

Available thickness units.

#### `` THICKNESS_UNIT_INCHES `class-attribute` `instance-attribute`

    THICKNESS_UNIT_INCHES = 2

Thickness should be displayed as inches.

#### `` THICKNESS_UNIT_MILLIMETERS `class-attribute` `instance-attribute`

    THICKNESS_UNIT_MILLIMETERS = 1

Thickness should be displayed as millimeters.

#### `` THICKNESS_UNIT_UNSPECIFIED `class-attribute` `instance-attribute`

    THICKNESS_UNIT_UNSPECIFIED = 0

Thickness unit not specified.

### `` TiltAngle

Angle of tilt camera in degrees.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` TiltStabilizationState

Tilt stabilization state.

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

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)

### `` TiltVelocity

Relative velocity of tilt.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` TimeLapseState

Time-lapse state published if time-lapse mission is running.

#### `` interval `class-attribute` `instance-attribute`

    interval: float = Field(FLOAT, number=1)

#### `` interval_type `class-attribute` `instance-attribute`

    interval_type: "IntervalType" = Field(
        ENUM, number=3, enum="IntervalType"
    )

#### `` photos_taken `class-attribute` `instance-attribute`

    photos_taken: int = Field(INT32, number=2)

### `` Vector3

Vector with 3 elements.

#### `` x `class-attribute` `instance-attribute`

    x: float = Field(DOUBLE, number=1)

#### `` y `class-attribute` `instance-attribute`

    y: float = Field(DOUBLE, number=2)

#### `` z `class-attribute` `instance-attribute`

    z: float = Field(DOUBLE, number=3)

### `` WaterDensity

Water density.

Used to specify the water density the drone is operating in, to achieve more accurate depth measurements, f. ex. influenced by salinity.

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` WaterTemperature

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

#### `` value `class-attribute` `instance-attribute`

    value: float = Field(FLOAT, number=1)

### `` WeatherVaningState

Weather vaning state.

#### `` enabled `class-attribute` `instance-attribute`

    enabled: bool = Field(BOOL, number=1)