#[derive(Debug, thiserror::Error)]
pub enum BrainBitError {
#[error("NeuroSDK2 library not available: {reason}")]
LibraryNotAvailable { reason: String },
#[error("SDK error (code {code}): {message}")]
SdkError { code: u32, message: String },
#[error("No BrainBit device found")]
NoDeviceFound,
#[error("Device not connected")]
NotConnected,
#[error("Operation timed out")]
Timeout,
#[error("Not supported: {0}")]
NotSupported(String),
#[error("Null pointer returned from SDK")]
NullPointer,
}