GimbalDeviceAttitudeStatus

Struct GimbalDeviceAttitudeStatus 

Source
pub struct GimbalDeviceAttitudeStatus {
    pub target_system: u8,
    pub target_component: u8,
    pub time_boot_ms: u32,
    pub flags: GimbalDeviceFlags,
    pub q: [f32; 4],
    pub angular_velocity_x: f32,
    pub angular_velocity_y: f32,
    pub angular_velocity_z: f32,
    pub failure_flags: GimbalDeviceErrorFlags,
    pub delta_yaw: f32,
    pub delta_yaw_velocity: f32,
    pub gimbal_device_id: u8,
}
Expand description

MAVLink GIMBAL_DEVICE_ATTITUDE_STATUS message.

The minimum supported MAVLink version is MAVLink 2.

§Description

Message reporting the status of a gimbal device. This message should be broadcast by a gimbal device component at a low regular rate (e.g. 5 Hz). For the angles encoded in the quaternion and the angular velocities holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME is set, then they are relative to the vehicle heading (vehicle frame). If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is set, then they are relative to absolute North (earth frame). If neither of these flags are set, then (for backwards compatibility) it holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_LOCK is set, then they are relative to absolute North (earth frame), else they are relative to the vehicle heading (vehicle frame). Other conditions of the flags are not allowed. The quaternion and angular velocities in the other frame can be calculated from delta_yaw and delta_yaw_velocity as q_earth = q_delta_yaw * q_vehicle and w_earth = w_delta_yaw_velocity + w_vehicle (if not NaN). If neither the GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME nor the GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME flag is set, then (for backwards compatibility) the data in the delta_yaw and delta_yaw_velocity fields are to be ignored. New implementations should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME, and always should set delta_yaw and delta_yaw_velocity either to the proper value or NaN.

§Encoding/Decoding

Message encoding/decoding are provided by implementing core::convert::TryFrom<Payload> for GimbalDeviceAttitudeStatus (encoding) and [IntoPayload] (decoding) traits. These traits are implemented by Message proc macro.

Fields§

§target_system: u8

MAVLink field target_system.

System ID

§target_component: u8

MAVLink field target_component.

Component ID

§time_boot_ms: u32

MAVLink field time_boot_ms.

Timestamp (time since system boot).

§flags: GimbalDeviceFlags

MAVLink field flags.

Current gimbal flags set.

§q: [f32; 4]

MAVLink field q.

Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation). The frame is described in the message description.

§angular_velocity_x: f32

MAVLink field angular_velocity_x.

X component of angular velocity (positive: rolling to the right). The frame is described in the message description. NaN if unknown.

§angular_velocity_y: f32

MAVLink field angular_velocity_y.

Y component of angular velocity (positive: pitching up). The frame is described in the message description. NaN if unknown.

§angular_velocity_z: f32

MAVLink field angular_velocity_z.

Z component of angular velocity (positive: yawing to the right). The frame is described in the message description. NaN if unknown.

§failure_flags: GimbalDeviceErrorFlags

MAVLink field failure_flags.

Failure flags (0 for no failure)

§delta_yaw: f32

MAVLink field delta_yaw.

Yaw angle relating the quaternions in earth and body frames (see message description). NaN if unknown.

§delta_yaw_velocity: f32

MAVLink field delta_yaw_velocity.

Yaw angular velocity relating the angular velocities in earth and body frames (see message description). NaN if unknown.

§gimbal_device_id: u8

MAVLink field gimbal_device_id.

This field is to be used if the gimbal manager and the gimbal device are the same component and hence have the same component ID. This field is then set a number between 1-6. If the component ID is separate, this field is not required and must be set to 0.

Implementations§

Source§

impl GimbalDeviceAttitudeStatus

Source

pub const ID: u32 = 285u32

MavLink message ID.

Source

pub const fn spec() -> MessageInfo

Returns specification for this message.

Source

pub const fn message_id() -> u32

Message ID.

Source

pub const fn crc_extra() -> u8

Message CRC_EXTRA.

Minimum supported MAVLink version for this message.

Trait Implementations§

Source§

impl Clone for GimbalDeviceAttitudeStatus

Source§

fn clone(&self) -> GimbalDeviceAttitudeStatus

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GimbalDeviceAttitudeStatus

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for GimbalDeviceAttitudeStatus

Source§

fn default() -> GimbalDeviceAttitudeStatus

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for GimbalDeviceAttitudeStatus

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<GimbalDeviceAttitudeStatus, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<GimbalDeviceAttitudeStatus> for Common

Source§

fn from(value: GimbalDeviceAttitudeStatus) -> Common

Converts to this type from the input type.
Source§

impl IntoPayload for GimbalDeviceAttitudeStatus

Source§

fn encode(&self, version: MavLinkVersion) -> Result<Payload, SpecError>

Encodes message into MAVLink payload. Read more
Source§

impl MessageSpec for GimbalDeviceAttitudeStatus

Source§

fn id(&self) -> u32

MAVLink message ID. Read more
Minimum supported MAVLink protocol version. Read more
Source§

fn crc_extra(&self) -> u8

Message EXTRA_CRC calculated from message XML definition. Read more
Source§

impl MessageSpecStatic for GimbalDeviceAttitudeStatus

Source§

fn spec() -> MessageInfo

Returns specification for this message.
Source§

fn message_id() -> u32

Message ID.
Source§

fn crc_extra() -> u8

Message CRC_EXTRA.
Minimum supported MAVLink version for this message.
Source§

impl NamedType for GimbalDeviceAttitudeStatus

Source§

fn sid() -> SpectaID

Source§

fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType

this is equivalent to Type::inline but returns a NamedDataType instead.
Source§

fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType

this is equivalent to [Type::definition] but returns a NamedDataType instead.
Source§

impl PartialEq for GimbalDeviceAttitudeStatus

Source§

fn eq(&self, other: &GimbalDeviceAttitudeStatus) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for GimbalDeviceAttitudeStatus

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<&Payload> for GimbalDeviceAttitudeStatus

Source§

type Error = SpecError

The type returned in the event of a conversion error.
Source§

fn try_from( value: &Payload, ) -> Result<GimbalDeviceAttitudeStatus, <GimbalDeviceAttitudeStatus as TryFrom<&Payload>>::Error>

Performs the conversion.
Source§

impl Type for GimbalDeviceAttitudeStatus

Source§

fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType

Returns the definition of a type using the provided generics. Read more
Source§

fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference

Generates a datatype corresponding to a reference to this type, as determined by its category. Getting a reference to a type implies that it should belong in the type map (since it has to be referenced from somewhere), so the output of definition will be put into the type map.
Source§

impl Flatten for GimbalDeviceAttitudeStatus

Source§

impl Message for GimbalDeviceAttitudeStatus

Source§

impl StructuralPartialEq for GimbalDeviceAttitudeStatus

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,