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>;