#[non_exhaustive]pub enum Error {
Bus,
ArbitrationLoss,
Overrun,
NoAcknowledge(NoAcknowledgeSource),
Pec,
SmbusTimeout,
SmbusAlert,
}Expand description
An error the peripheral flagged in STAT0 (manual Table 17-3).
kind gives the portable classification.
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
A START or STOP arrived where the protocol allows none (BERR).
ArbitrationLoss
Another master won the bus; this one fell back to slave mode (LOSTARB).
Overrun
A byte was overwritten before being read, or needed before being written
(OUERR). Slave mode only, with clock stretching disabled.
NoAcknowledge(NoAcknowledgeSource)
Nobody acknowledged (AERR) — the ordinary answer from an empty address,
which is what bus scans rely on.
One flag covers both cases, so the source comes from the step that ran.
Pec
The received PEC does not match the one computed locally (PECERR).
SmbusTimeout
An SMBus transaction exceeded its timeout (SMBTO).
SmbusAlert
An SMBus device pulled the alert line (SMBALT).
Trait Implementations§
impl Copy for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
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