Struct MavTimestamp

Source
pub struct MavTimestamp { /* private fields */ }
Expand description

A 48-bit timestamp used for MAVLink 2 packet signing.

MAVLink signature timestamp is a 48-bit value that equals to the number of milliseconds * 10 since the start of the MAVLink epoch (1st January 2015 GMT).

Implementations§

Source§

impl MavTimestamp

Source

pub fn from_millis(value: u64) -> Self

Creates MavTimestamp from milliseconds since the beginning of the Unix epoch.

Source

pub fn from_micros(value: u128) -> Self

Creates MavTimestamp from microseconds since the beginning of the Unix epoch.

Source

pub fn from_system_time(value: SystemTime) -> Self

Creates MavTimestamp from the SystemTime. Uses microsecond * 10 precision.

Available only when std feature is enabled.

Source

pub fn from_raw_u64(value: u64) -> Self

Creates MavTimestamp from u64 raw value discarding two higher bytes.

Provided value should represent Self::as_raw_u64 MAVLink 2 signature timestamp.

Source

pub fn from_bytes(bytes: &SignatureTimestampBytes) -> Self

Decodes timestamp from bytes.

Source

pub fn as_raw_u64(&self) -> u64

Raw MAVLink timestamp value.

Returns number of milliseconds * 10 since the start of MAVLink epoch (1st January 2015 GMT).

Use Self::as_raw_u64 to set this value.

Source

pub fn set_raw_u64(&mut self, raw: u64) -> &mut Self

Sets raw MAVLink timestamp value.

Use Self::as_raw_u64 to get this value.

MAVLink timestamp in milliseconds.

Returns timestamp as a number of milliseconds since the start of MAVLink epoch (1st January 2015 GMT).

Use Self::as_millis_mavlink to set this value.

Sets MAVLink timestamp in milliseconds.

Use Self::as_millis_mavlink to get this value.

Source

pub fn as_millis(&self) -> u64

Unix timestamp in milliseconds.

Use Self::set_millis to set this value.

Returns value as number of milliseconds since the start of Unix epoch (1st January 1970 GMT).

Source

pub fn set_millis(&mut self, millis: u64) -> &mut Self

Sets Unix timestamp in milliseconds.

Use Self::as_millis to get this value.

MAVLink timestamp in microseconds.

Returns timestamp as a number of microseconds since the start of MAVLink epoch (1st January 2015 GMT).

Use Self::set_micros_mavlink to set this value.

Sets MAVLink timestamp in microseconds.

Use Self::as_micros_mavlink to get this value.

Source

pub fn as_micros(&self) -> u128

Unix timestamp in microseconds.

Returns value as number of microseconds since the start of Unix epoch (1st January 1970 GMT).

Use Self::set_micros to set this value.

Source

pub fn set_micros(&mut self, micros: u128) -> &mut Self

Sets Unix timestamp in microseconds.

Use Self::as_micros to get this value.

Source

pub fn to_bytes_array(&self) -> SignatureTimestampBytes

Encodes timestamp into bytes.

Trait Implementations§

Source§

impl Clone for MavTimestamp

Source§

fn clone(&self) -> MavTimestamp

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 MavTimestamp

Source§

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

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

impl Default for MavTimestamp

Source§

fn default() -> MavTimestamp

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

impl<'de> Deserialize<'de> for MavTimestamp

Source§

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

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

impl From<[u8; 6]> for MavTimestamp

Source§

fn from(bytes: SignatureTimestampBytes) -> Self

Decodes MavTimestamp from bytes.

Uses MavTimestamp::from_bytes.

Source§

impl From<MavTimestamp> for SignatureTimestampBytes

Source§

fn from(timestamp: MavTimestamp) -> Self

Encodes MavTimestamp into bytes.

Uses MavTimestamp::to_bytes_array.

Source§

impl From<SystemTime> for MavTimestamp

Source§

fn from(value: SystemTime) -> Self

Creates MavTimestamp from the SystemTime.

Available only when std feature is enabled. Uses Self::from_system_time internally.

Source§

impl From<u64> for MavTimestamp

Source§

fn from(value: u64) -> Self

Creates MavTimestamp from u64 raw value discarding two higher bytes.

Uses Self::from_raw_u64 internally.

Source§

impl NamedType for MavTimestamp

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 Serialize for MavTimestamp

Source§

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

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

impl Type for MavTimestamp

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 Copy for MavTimestamp

Source§

impl Flatten for MavTimestamp

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> 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 = 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>,