Enum evegfx::commands::Error [−][src]
Error type for coprocessor operations.
This distinguishes between errors from the underlying interface to the hardware, errors returned by the "waiter" while waiting for more buffer space, and coprocessor faults reported by the EVE chip itself.
Variants (Non-exhaustive)
Indicates that the requested operation isn't supported for the current model.
The crate API is designed to handle certain model differences at compile time within the type system, but for reasons of pragmatism some differences are handled only dynamically.
Interface(I::Error)
Errors encountered when sending or recieving data from the EVE chip.
The wrapped error type for this variant is the error type for whichever
Interface
implementation you are using.
Waiter(W::Error)
Errors encountered while waiting for more space in the ring buffer.
The wrapped error type for this variant is the error type for whichever
Waiter
implementation you are using. If you
are using the default polling waiter then the error will be of the
error type associated with your chosen Interface
.
Indicates that the coprocessor itself reported a fault.
If you are using an EVE chip that supports fault messages, you can call
Coprocessor::coprocessor_fault_msg
to get an error string from the EVE chip.
The coprocessor typically runs asynchronously from the host processor, and so a fault error may be returned from some later method call than the one which caused the fault. This error variant therefore indicates only that the coprocessor is blocked by being the fault state, not that the most recent method call put it in that state.
Implementations
impl<M, I, W> CoprocessorError<M, I, W> where
M: Model,
I: Interface,
W: Waiter<M, I>,
[src]
M: Model,
I: Interface,
W: Waiter<M, I>,
pub fn from_general_error(err: Error<I>) -> Self
[src]
pub fn general_result<R>(r: Result<R, Error<I>>) -> Result<R, Self>
[src]
Trait Implementations
impl<M, I, W> Debug for CoprocessorError<M, I, W> where
M: Model,
I: Interface,
W: Waiter<M, I>,
I::Error: Debug,
W::Error: Debug,
[src]
M: Model,
I: Interface,
W: Waiter<M, I>,
I::Error: Debug,
W::Error: Debug,
impl<M, I, W> From<Error<I>> for CoprocessorError<M, I, W> where
M: Model,
I: Interface,
W: Waiter<M, I>,
[src]
M: Model,
I: Interface,
W: Waiter<M, I>,
Auto Trait Implementations
impl<M, I, W> Send for CoprocessorError<M, I, W> where
<I as Interface>::Error: Send,
<W as Waiter<M, I>>::Error: Send,
[src]
<I as Interface>::Error: Send,
<W as Waiter<M, I>>::Error: Send,
impl<M, I, W> Sync for CoprocessorError<M, I, W> where
<I as Interface>::Error: Sync,
<W as Waiter<M, I>>::Error: Sync,
[src]
<I as Interface>::Error: Sync,
<W as Waiter<M, I>>::Error: Sync,
impl<M, I, W> Unpin for CoprocessorError<M, I, W> where
<I as Interface>::Error: Unpin,
<W as Waiter<M, I>>::Error: Unpin,
[src]
<I as Interface>::Error: Unpin,
<W as Waiter<M, I>>::Error: Unpin,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,