pub enum CanError {
Io(Error),
Device(CanDeviceError),
Timeout,
BufferOverflow,
BusOff,
NotStarted,
}Expand description
CAN 适配层统一错误类型
Variants§
Io(Error)
USB/IO 底层错误
Device(CanDeviceError)
设备相关错误(设备未找到、未启动、配置失败等)
Timeout
读取超时(非致命,可以重试)
BufferOverflow
缓冲区溢出(致命错误)
BusOff
总线关闭(致命错误,需要重启)
NotStarted
设备未启动
Trait Implementations§
Source§impl Error for CanError
impl Error for CanError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<CanDeviceError> for CanError
impl From<CanDeviceError> for CanError
Source§fn from(source: CanDeviceError) -> Self
fn from(source: CanDeviceError) -> Self
Converts to this type from the input type.
Source§impl From<CanError> for RobotError
impl From<CanError> for RobotError
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> 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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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