Data

Enum Data 

Source
pub enum Data {
    BarometerCalibration(BarometerCalibration),
    BarometerData(BarometerData),
    TicksPerSecond(u32),
    Heartbeat(u32),
}

Variants§

§

BarometerCalibration(BarometerCalibration)

Calibration values from the barometer.

NOTE: Always sent before BarometerData messages

§

BarometerData(BarometerData)

Data sample from the barometer

§

TicksPerSecond(u32)

Indicates how many ticks are in a second. Ticks are the units used to convey time on the flight computer.

Before a TicksPerSecond message is recieved to indicate otherwise, there are 1024 ticks in a second.

Each tick 1/current_ticks_per_second should be added to the reconstructed time, and new TicksPerSecond messages must replace the current current_ticks_per_second, so that the next tick becomes 1/current_ticks_per_second long.

§

Heartbeat(u32)

Sent when no other message is sent for a while.

NOTE: When this message is sent, more computation is needed to determine the actual number of ticks since the last message.

Add this value to the number of ticks in the message to determine the real number of ticks since the last message. If this is not done, time will be lost during long periods of no messages. This is done so that we have extra bits to store more ticks when no messages are sent for a while, reducing the rate at which we must send messages to avoid overflowing the small 16 bit number of ticks inside Message.

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for Data

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

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

Auto Trait Implementations§

§

impl Freeze for Data

§

impl RefUnwindSafe for Data

§

impl Send for Data

§

impl Sync for Data

§

impl Unpin for Data

§

impl UnwindSafe for Data

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