#[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§
Auto Trait Implementations§
impl Freeze for I2cError
impl RefUnwindSafe for I2cError
impl Send for I2cError
impl Sync for I2cError
impl Unpin for I2cError
impl UnwindSafe for I2cError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more