Skip to main content

ErrorCounts

Struct ErrorCounts 

Source
#[non_exhaustive]
pub struct ErrorCounts { pub bit: u32, pub form: u32, pub stuff: u32, pub acknowledge: u32, pub other: u32, pub arbitration_lost: u32, pub overrun: u32, pub queue_full: u32, }
Available on crate feature unstable only.
Expand description

What the controller has reported since the driver was last started (TwaiConfiguration::start), as counted by the async driver’s interrupt handler (a blocking driver counts nothing).

Bus errors are classified from the error code capture register as ESP-IDF does: bit, form and stuff errors by type, an acknowledgement error by the ACK slot segment, anything else as other.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§bit: u32

Bit errors

§form: u32

Form errors

§stuff: u32

Stuff errors

§acknowledge: u32

Acknowledgement errors: nobody acknowledged a transmitted frame

§other: u32

Other bus errors

§arbitration_lost: u32

Arbitration lost while transmitting (the controller retries)

§overrun: u32

Frames lost in the controller: its receive FIFO overran

§queue_full: u32

Frames lost because the driver’s receive queue was full

Trait Implementations§

Source§

impl Clone for ErrorCounts

Source§

fn clone(&self) -> ErrorCounts

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

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

Performs copy-assignment from source. Read more
Source§

impl Copy for ErrorCounts

Source§

impl Debug for ErrorCounts

Source§

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

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

impl Default for ErrorCounts

Source§

fn default() -> ErrorCounts

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

impl Eq for ErrorCounts

Source§

impl PartialEq for ErrorCounts

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable)§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ErrorCounts

Auto Trait Implementations§

§

impl Freeze for ErrorCounts

§

impl RefUnwindSafe for ErrorCounts

§

impl Send for ErrorCounts

§

impl Sync for ErrorCounts

§

impl Unpin for ErrorCounts

§

impl UnsafeUnpin for ErrorCounts

§

impl UnwindSafe for ErrorCounts

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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.