#[non_exhaustive]pub enum Error {
Io(Error),
Transfer(TransferError),
AddressRange {
range: Range<u32>,
addr: u32,
},
ValueRange {
range: Range<u32>,
val: u32,
},
TuningRange {
range: Range<u64>,
val: u64,
},
InvalidParameter(&'static str),
ApiVersion {
needed: u16,
actual: u16,
},
ReturnData,
}Expand description
An error from operating the HackRF.
Some errors are recoverable:
Io&Transfermay just be a failed packet operation on the USB cable, and can potentially be recovered from without giving up on the HackRF.AddressRange,ValueRange,TuningRange, andInvalidParameterall mean the arguments to a function were out of range, and may even provide a hint of how to fix them.ReturnDatameans the HackRF replied to a USB transaction with something unintelligible. If this is for a bulk transfer during Sweep mode, it might be possible to recover by stopping and re-entering sweep mode, but most of the time this means something is seriously wrong and nonrecoverable.ApiVersionindicates the firmware on the HackRF is too old to support this function. Bail out, and advise the user to update their HackRF’s firmware.
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.
Io(Error)
Underlying OS I/O error.
Transfer(TransferError)
Transfer error from nusb.
AddressRange
The provided address (usually for register I/O) is out of range.
ValueRange
The provided argument value is out of range.
TuningRange
The provided tuning frequency is out of range.
InvalidParameter(&'static str)
Some argument to a function is invalid in a way not easily expressed as a range.
ApiVersion
The API version of the opened HackRF is too old for this function.
ReturnData
Returned data from a HackRF didn’t make any sense.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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<TransferError> for Error
impl From<TransferError> for Error
Source§fn from(source: TransferError) -> Self
fn from(source: TransferError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin 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