Enum I2cError

Source
#[non_exhaustive]
pub enum I2cError { Bus, ArbitrationLoss, NACK, Overrun, Underrun, PacketErrorChecking, Timeout, Alert, Impl(ImplError), }
Expand description

An I2C specific error.

This error type contains errors specific to I2C peripherals. Also it has an Impl kind to pass through implementation specific errors occurring while trying to use an I2C peripheral.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Bus

An unspecific bus error occured

§

ArbitrationLoss

The arbitration was lost, e.g. electrical problems with the clock signal

§

NACK

A bus operation received a NACK, e.g. due to the addressed device not being available on the bus or device not being ready to process any requests at the moment

§

Overrun

The peripheral receive buffer was overrun

§

Underrun

The peripheral send buffer ran out of data

§

PacketErrorChecking

SMBus Error checking byte mismatch

§

Timeout

SMBus Timeout error

§

Alert

SMBus Alert received

§

Impl(ImplError)

Implementation specific error (shared across all peripheral specific error kinds)

Trait Implementations§

Source§

impl Clone for I2cError

Source§

fn clone(&self) -> I2cError

Returns a copy 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 I2cError

Source§

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

Formats the value using the given formatter. Read more

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