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,
}dialect-uavionix only.Expand description
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.
ID: 284
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: f32X component of angular velocity (positive: rolling to the right). The frame is described in the message description. NaN to be ignored.
angular_velocity_y: f32Y component of angular velocity (positive: pitching up). The frame is described in the message description. NaN to be ignored.
angular_velocity_z: f32Z component of angular velocity (positive: yawing to the right). The frame is described in the message description. NaN to be ignored.
flags: GimbalDeviceFlagsLow level gimbal flags.
target_system: u8System ID
target_component: u8Component ID
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl<'arbitrary> Arbitrary<'arbitrary> for GIMBAL_DEVICE_SET_ATTITUDE_DATA
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self from the entirety of the given
unstructured data. Read moreSource§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
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 ==.Source§impl TS for GIMBAL_DEVICE_SET_ATTITUDE_DATA
impl TS for GIMBAL_DEVICE_SET_ATTITUDE_DATA
Source§type WithoutGenerics = GIMBAL_DEVICE_SET_ATTITUDE_DATA
type WithoutGenerics = GIMBAL_DEVICE_SET_ATTITUDE_DATA
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = GIMBAL_DEVICE_SET_ATTITUDE_DATA
type OptionInnerType = GIMBAL_DEVICE_SET_ATTITUDE_DATA
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all]. Read more§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use [
TS::export]. Read more§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use [
TS::export]. Read more§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
§fn default_output_path() -> Option<PathBuf>
fn default_output_path() -> Option<PathBuf>
T should be exported. Read more