pub struct GIMBAL_DEVICE_SET_ATTITUDE_DATA {
pub q: [f32; 4],
pub angular_velocity_x: f32,
pub angular_velocity_y: f32,
pub angular_velocity_z: f32,
pub flags: GimbalDeviceFlags,
pub target_system: u8,
pub target_component: u8,
}
development
only.Expand description
id: 284 Low level message to control a gimbal device’s attitude. This message is to be sent from the gimbal manager to the gimbal device component. The quaternion and angular velocities can be set to NaN according to use case. 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). Setting both GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME and GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is not allowed. These rules are to ensure backwards compatibility. New implementations should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME..
Fields§
§q: [f32; 4]
Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation). The frame is described in the message description. Set fields to NaN to be ignored..
angular_velocity_x: f32
X component of angular velocity (positive: rolling to the right). The frame is described in the message description. NaN to be ignored..
angular_velocity_y: f32
Y component of angular velocity (positive: pitching up). The frame is described in the message description. NaN to be ignored..
angular_velocity_z: f32
Z component of angular velocity (positive: yawing to the right). The frame is described in the message description. NaN to be ignored..
flags: GimbalDeviceFlags
Low level gimbal flags..
target_system: u8
System ID.
target_component: u8
Component ID.
Implementations§
source§impl GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl GIMBAL_DEVICE_SET_ATTITUDE_DATA
pub const ENCODED_LEN: usize = 32usize
pub const DEFAULT: Self = _
Trait Implementations§
source§impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl Clone for GIMBAL_DEVICE_SET_ATTITUDE_DATA
source§fn clone(&self) -> GIMBAL_DEVICE_SET_ATTITUDE_DATA
fn clone(&self) -> GIMBAL_DEVICE_SET_ATTITUDE_DATA
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl<'de> Deserialize<'de> for GIMBAL_DEVICE_SET_ATTITUDE_DATA
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl MessageData for GIMBAL_DEVICE_SET_ATTITUDE_DATA
const ID: u32 = 284u32
const NAME: &'static str = "GIMBAL_DEVICE_SET_ATTITUDE"
const EXTRA_CRC: u8 = 99u8
const ENCODED_LEN: usize = 32usize
type Message = MavMessage
fn deser(_version: MavlinkVersion, __input: &[u8]) -> Result<Self, ParserError>
fn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize
source§impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl PartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA
source§fn eq(&self, other: &GIMBAL_DEVICE_SET_ATTITUDE_DATA) -> bool
fn eq(&self, other: &GIMBAL_DEVICE_SET_ATTITUDE_DATA) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for GIMBAL_DEVICE_SET_ATTITUDE_DATA
Auto Trait Implementations§
impl Freeze for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl RefUnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl Send for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl Sync for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl Unpin for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl UnwindSafe for GIMBAL_DEVICE_SET_ATTITUDE_DATA
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)