73 lines
1.5 KiB
Rust
73 lines
1.5 KiB
Rust
#[repr(C)]
|
|
pub enum SdkErrorCode {
|
|
Success = 0,
|
|
InvalidPointer = 1,
|
|
DeviceNotFound = 2,
|
|
DeviceAlreadyOpen = 3,
|
|
NotInitialized = 4,
|
|
AlreadyStreaming = 5,
|
|
NotStreaming = 6,
|
|
ConfigError = 7,
|
|
IoError = 8,
|
|
Timeout = 9,
|
|
ChannelClosed = 10,
|
|
InternalError = 11,
|
|
BufferOverflow = 12,
|
|
InvalidParameter = 13,
|
|
CrcError = 14,
|
|
FrameError = 15,
|
|
ProtocolError = 16,
|
|
DeviceError = 17,
|
|
}
|
|
|
|
#[derive(Debug, thiserror::Error)]
|
|
pub enum SdkError {
|
|
#[error("Device not found: {0}")]
|
|
DeviceNotFound(String),
|
|
|
|
#[error("Device already open")]
|
|
DeviceAlreadyOpen,
|
|
|
|
#[error("SDK not initialized")]
|
|
NotInitialized,
|
|
|
|
#[error("Already streaming")]
|
|
AlreadyStreaming,
|
|
|
|
#[error("Not streaming")]
|
|
NotStreaming,
|
|
|
|
#[error("Configuration error: {0}")]
|
|
ConfigError(String),
|
|
|
|
#[error("I/O error: {0}")]
|
|
IoError(#[from] std::io::Error),
|
|
|
|
#[error("Read timeout")]
|
|
Timeout,
|
|
|
|
#[error("Channel closed")]
|
|
ChannelClosed,
|
|
|
|
#[error("Internal error: {0}")]
|
|
InternalError(String),
|
|
|
|
#[error("Buffer overflow — dropped {0} samples")]
|
|
BufferOverflow(u64),
|
|
|
|
#[error("Invalid parameter: {0}")]
|
|
InvalidParameter(String),
|
|
|
|
#[error("CRC error: expected 0x{expected:02X}, got 0x{actual:02X}")]
|
|
CrcError { expected: u8, actual: u8 },
|
|
|
|
#[error("Frame error: {0}")]
|
|
FrameError(String),
|
|
|
|
#[error("Protocol error: {0}")]
|
|
ProtocolError(String),
|
|
|
|
#[error("Device error: status 0x{0:04X}")]
|
|
DeviceError(u16),
|
|
}
|