RxMeta

Struct RxMeta 

Source
pub struct RxMeta {
    pub rssi_dbm: Option<i16>,
    pub lqi: Option<NonZeroU8>,
    pub snr_cb: Option<i16>,
}
Expand description

Receive metadata for Recv on STR_PHY_RAW.

Each field has a wire-level “not supported” sentinel, mapped to None here.

Fields§

§rssi_dbm: Option<i16>

RSSI in dBm. On the wire this is the negated RSSI as a u8, with 0xFF meaning unsupported, so only values in -254..=0 are representable; encode clamps to that range.

§lqi: Option<NonZeroU8>

Link-quality indicator, 1 (worst) to 255 (perfect).

§snr_cb: Option<i16>

Signal-to-noise ratio in centibels. The wire sentinel 0x8000 (i16::MIN, -3276.8 dB) means unsupported. No real link can report that value, so every genuine measurement round-trips without distortion.

Implementations§

Source§

impl RxMeta

Source

pub const WIRE_LEN: usize = 4usize

Source

pub fn encode(self, out: &mut [u8]) -> Result<usize, MetaError>

Source

pub fn decode(input: &[u8]) -> Result<Self, MetaError>

Trait Implementations§

Source§

impl Clone for RxMeta

Source§

fn clone(&self) -> RxMeta

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for RxMeta

Source§

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

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

impl Default for RxMeta

Source§

fn default() -> RxMeta

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

impl PartialEq for RxMeta

Source§

fn eq(&self, other: &RxMeta) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for RxMeta

Source§

impl Eq for RxMeta

Source§

impl StructuralPartialEq for RxMeta

Auto Trait Implementations§

§

impl Freeze for RxMeta

§

impl RefUnwindSafe for RxMeta

§

impl Send for RxMeta

§

impl Sync for RxMeta

§

impl Unpin for RxMeta

§

impl UnwindSafe for RxMeta

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

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
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.