Error

Enum Error 

Source
pub enum Error<SPI>
where SPI: ErrorType,
{
Show 20 variants Spi(Error<SPI>), Fcs, Phy, BufferTooSmall { required_len: usize, }, ReedSolomon, FrameWaitTimeout, Overrun, PreambleDetectionTimeout, SfdTimeout, FrameFilteringRejection, Frame(Error), DelayedSendTooLate, DelayedSendPowerUpWarning, InvalidConfiguration, RxNotFinished, StillAsleep, BadRssiCalculation, RxConfigFrameFilteringUnsupported, InitializationFailed, PGFCalibrationFailed,
}
Expand description

An error that can occur when sending or receiving data

Variants§

§

Spi(Error<SPI>)

Error occurred while using SPI bus

§

Fcs

Receiver FCS error

§

Phy

PHY header error

§

BufferTooSmall

Buffer too small

Fields

§required_len: usize

Indicates how large a buffer would have been required

§

ReedSolomon

Receiver Reed Solomon Frame Sync Loss

§

FrameWaitTimeout

Receiver Frame Wait Timeout

§

Overrun

Receiver Overrun

§

PreambleDetectionTimeout

Preamble Detection Timeout

§

SfdTimeout

Receiver SFD Timeout

§

FrameFilteringRejection

Frame was rejected because due to automatic frame filtering

It seems that frame filtering is typically handled transparently by the hardware, and filtered frames aren’t usually visible to the driver. However, sometimes a filtered frame bubbles up and disrupts an ongoing receive operation, which then causes this error.

§

Frame(Error)

Frame could not be decoded

§

DelayedSendTooLate

A delayed frame could not be sent in time

Please note that the frame was still sent. Replies could still arrive, and if it was a ranging frame, the resulting range measurement will be wrong.

§

DelayedSendPowerUpWarning

Transmitter could not power up in time for delayed send

The frame was still transmitted, but the first bytes of the preamble were likely corrupted.

§

InvalidConfiguration

The configuration was not valid. Some combinations of settings are not allowed.

§

RxNotFinished

The receive operation hasn’t finished yet

§

StillAsleep

It was expected that the radio would have woken up, but it hasn’t.

§

BadRssiCalculation

The RSSI was not calculable.

§

RxConfigFrameFilteringUnsupported

There are issues with frame filtering in double buffer mode. So it’s not supported now.

§

InitializationFailed

Failed Initialization

§

PGFCalibrationFailed

Failed to calibrate the PGF values

Trait Implementations§

Source§

impl<SPI> Debug for Error<SPI>
where SPI: ErrorType, SPI::Error: Debug,

Source§

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

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

impl<SPI> Display for Error<SPI>
where SPI: ErrorType,

Source§

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

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

impl<SPI> From<Error<SPI>> for Error<SPI>
where SPI: ErrorType,

Source§

fn from(error: Error<SPI>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<SPI> Freeze for Error<SPI>
where <SPI as ErrorType>::Error: Freeze,

§

impl<SPI> RefUnwindSafe for Error<SPI>
where <SPI as ErrorType>::Error: RefUnwindSafe,

§

impl<SPI> Send for Error<SPI>
where <SPI as ErrorType>::Error: Send,

§

impl<SPI> Sync for Error<SPI>
where <SPI as ErrorType>::Error: Sync,

§

impl<SPI> Unpin for Error<SPI>
where <SPI as ErrorType>::Error: Unpin,

§

impl<SPI> UnwindSafe for Error<SPI>
where <SPI as ErrorType>::Error: 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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.