Skip to main content

joycon_driver/
error.rs

1use hidapi::HidError;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum JoyConDriverError {
6    #[error("hid error: {0}")]
7    HidError(HidError),
8    #[error("invalid vendor id {0}")]
9    InvalidVendorId(u16),
10    #[error("invalid product id {0}")]
11    InvalidProductId(u16),
12    #[error("buf is too small, size: {0}")]
13    BufferIsTooSmall(usize),
14    #[error("buf is too large, size: {0}")]
15    BufferIsTooLarge(usize),
16    #[error("invalid buffer result")]
17    InvalidResultBuffer,
18    #[error("not supported report id: {0}")]
19    NotSupportedReportId(u8),
20    #[error("")]
21    SubCommandFailed,
22}
23
24impl From<HidError> for JoyConDriverError {
25    fn from(error: HidError) -> Self {
26        Self::HidError(error)
27    }
28}
29
30pub type JoyConDriverResult<T> = Result<T, JoyConDriverError>;