Skip to main content

MavFrame

Struct MavFrame 

Source
pub struct MavFrame<M>
where M: Message,
{ pub header: MavHeader, pub msg: M, pub protocol_version: MavlinkVersion, }
Expand description

Encapsulation of the MAVLink message and the header, important to preserve information about the sender system and component id.

Fields§

§header: MavHeader

Message header data

§msg: M

Parsed Message payload

§protocol_version: MavlinkVersion

Messages MAVLink version

Implementations§

Source§

impl<M> MavFrame<M>
where M: Message,

Source

pub fn ser(&self, buf: &mut [u8]) -> usize

Serialize MavFrame into a byte slice, so it can be sent over a socket, for example. The resulting buffer will start with the sequence field of the MAVLink frame and will not include the initial packet marker, length field, and flags.

§Panics
  • If the frame does not fit in the provided buffer
  • When attempting to serialize a message with an id greater then 255 with MAVLink 1
  • When attempting to serialize a header with an system id greater then 255 with MAVLink 1
Source

pub fn deser( version: MavlinkVersion, input: &[u8], ) -> Result<MavFrame<M>, ParserError>

👎Deprecated:

Use deser_with_flags to support the IFLAG_SYSID32 incompatebility flag

Deserialize MavFrame from a slice that has been received from, for example, a socket. The input buffer should start with the sequence field of the MAVLink frame. The initial packet marker, length field, and flag fields should be excluded. This function does not produce correct results if the header has the IFLAG_SYSID32 flag set.

§Errors

Will return a ParserError if a message was found but could not be parsed or the if the buffer provided does not contain a full message

Source

pub fn deser_with_flags( version: MavlinkVersion, incompat_flags: u8, input: &[u8], ) -> Result<MavFrame<M>, ParserError>

Deserialize MavFrame from a slice that has been received from, for example, a socket. The input buffer should start with the sequence field of the MAVLink frame. The initial packet marker, length field, and flag fields should be excluded.

§Errors

Will return a ParserError if a message was found but could not be parsed or the if the buffer provided does not contain a full message

Source

pub fn header(&self) -> MavHeader

Return the frame header

Trait Implementations§

Source§

impl<'arbitrary, M> Arbitrary<'arbitrary> for MavFrame<M>
where M: Message + Arbitrary<'arbitrary>,

Source§

fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<MavFrame<M>, Error>

Generate an arbitrary value of Self from the given unstructured data. Read more
Source§

fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<MavFrame<M>, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
Source§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
Source§

fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
Source§

impl<M> Clone for MavFrame<M>
where M: Clone + Message,

Source§

fn clone(&self) -> MavFrame<M>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<M> Debug for MavFrame<M>
where M: Debug + Message,

Source§

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

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

impl<M> Serialize for MavFrame<M>
where M: Message + Serialize,

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

Auto Trait Implementations§

§

impl<M> Freeze for MavFrame<M>
where M: Freeze,

§

impl<M> RefUnwindSafe for MavFrame<M>
where M: RefUnwindSafe,

§

impl<M> Send for MavFrame<M>
where M: Send,

§

impl<M> Sync for MavFrame<M>
where M: Sync,

§

impl<M> Unpin for MavFrame<M>
where M: Unpin,

§

impl<M> UnsafeUnpin for MavFrame<M>
where M: UnsafeUnpin,

§

impl<M> UnwindSafe for MavFrame<M>
where M: UnwindSafe,

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> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.