pub struct ATTITUDE_QUATERNION_DATA {
pub time_boot_ms: u32,
pub q1: f32,
pub q2: f32,
pub q3: f32,
pub q4: f32,
pub rollspeed: f32,
pub pitchspeed: f32,
pub yawspeed: f32,
pub repr_offset_q: [f32; 4],
}dialect-cubepilot only.Expand description
The attitude in the aeronautical frame (right-handed, Z-down, X-front, Y-right), expressed as quaternion. Quaternion order is w, x, y, z and a zero rotation would be expressed as (1 0 0 0).
ID: 31
Fields§
§time_boot_ms: u32Timestamp (time since system boot).
q1: f32Quaternion component 1, w (1 in null-rotation)
q2: f32Quaternion component 2, x (0 in null-rotation)
q3: f32Quaternion component 3, y (0 in null-rotation)
q4: f32Quaternion component 4, z (0 in null-rotation)
rollspeed: f32Roll angular speed
pitchspeed: f32Pitch angular speed
yawspeed: f32Yaw angular speed
repr_offset_q: [f32; 4]Rotation offset by which the attitude quaternion and angular speed vector should be rotated for user display (quaternion with [w, x, y, z] order, zero-rotation is [1, 0, 0, 0], send [0, 0, 0, 0] if field not supported). This field is intended for systems in which the reference attitude may change during flight. For example, tailsitters VTOLs rotate their reference attitude by 90 degrees between hover mode and fixed wing mode, thus repr_offset_q is equal to [1, 0, 0, 0] in hover mode and equal to [0.7071, 0, 0.7071, 0] in fixed wing mode.
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for ATTITUDE_QUATERNION_DATA
impl<'arbitrary> Arbitrary<'arbitrary> for ATTITUDE_QUATERNION_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 ATTITUDE_QUATERNION_DATA
impl Clone for ATTITUDE_QUATERNION_DATA
Source§fn clone(&self) -> ATTITUDE_QUATERNION_DATA
fn clone(&self) -> ATTITUDE_QUATERNION_DATA
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ATTITUDE_QUATERNION_DATA
impl Debug for ATTITUDE_QUATERNION_DATA
Source§impl Default for ATTITUDE_QUATERNION_DATA
impl Default for ATTITUDE_QUATERNION_DATA
Source§impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_DATA
impl<'de> Deserialize<'de> for ATTITUDE_QUATERNION_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 ATTITUDE_QUATERNION_DATA
impl MessageData for ATTITUDE_QUATERNION_DATA
Source§impl PartialEq for ATTITUDE_QUATERNION_DATA
impl PartialEq for ATTITUDE_QUATERNION_DATA
Source§impl Serialize for ATTITUDE_QUATERNION_DATA
impl Serialize for ATTITUDE_QUATERNION_DATA
Source§impl TS for ATTITUDE_QUATERNION_DATA
impl TS for ATTITUDE_QUATERNION_DATA
Source§type WithoutGenerics = ATTITUDE_QUATERNION_DATA
type WithoutGenerics = ATTITUDE_QUATERNION_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 = ATTITUDE_QUATERNION_DATA
type OptionInnerType = ATTITUDE_QUATERNION_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