1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
use failure_derive::Fail; mod programmer; mod flash; mod fpga; pub use programmer::Programmer; pub use flash::Flash; pub use fpga::FPGA; #[derive(Fail, Debug)] pub enum FFPError { #[fail(display="USB error: {}", _0)] USBError(#[cause] libusb::Error), #[fail(display="No FFP device found")] NoDeviceFound, #[fail(display="Not enough data read back from device: expected {}, read {}", expected, read)] NotEnoughData { expected: usize, read: usize }, #[fail(display="Flash readback verification failed")] ReadbackError, #[fail(display="An unknown error has occurred.")] UnknownError, } impl From<libusb::Error> for FFPError { fn from(error: libusb::Error) -> Self { FFPError::USBError(error) } } pub type Result<T> = std::result::Result<T, failure::Error>;