#[repr(u8)]pub enum CanError {
Bit = 1,
Stuff = 2,
Form = 3,
Ack = 4,
Crc = 5,
Other = 6,
}Expand description
The error codes which can be delivered in a CAN frame
These are set by a receiver when it detects an error in a received frame, and received globally by all nodes on the bus
Variants§
Bit = 1
The transmitter detected a different value on the bus than the value is was transmitting at a point in the message after the arbitration process (sending of the ID)
Stuff = 2
A receiver detected a sequence of 6 bits of the same level, indicating a failure in bit stuffing
Form = 3
A reveiver detected a malformed can frame (e.g. the SOF bit was not dominant, etc)
Ack = 4
The transmitter did not detect an ACK from any receivers
Crc = 5
A receiver detected a mismatch in CRC value for the message
Other = 6
There are other bit patterns possible for the error field, but they have no defined meaning
Implementations§
Trait Implementations§
Source§impl Error for CanError
impl Error for CanError
Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§fn cause(&self) -> Option<&dyn Error>
fn cause(&self) -> Option<&dyn Error>
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§impl ErrorCompat for CanError
impl ErrorCompat for CanError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
Returns an iterator for traversing the chain of errors,
starting with the current error
and continuing with recursive calls to
Error::source. Read moreimpl Copy for CanError
Auto Trait Implementations§
impl Freeze for CanError
impl RefUnwindSafe for CanError
impl Send for CanError
impl Sync for CanError
impl Unpin for CanError
impl UnwindSafe for CanError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more