tlpm-rs 0.1.2

Safe Rust FFI bindings for Thorlabs PM-series optical power meters.
use thiserror::Error;

#[derive(Error, Debug)]
pub enum TlpmError {
    #[error("invalid resource name: {0}")]
    InvalidResourceName(String),

    #[error("visa error {code} during {action}: {message}")]
    VisaError {
        code: i32, // sys::ViStatus is an alias for a 32-bit signed integer
        action: String,
        message: String,
    },

    #[error("failed to parse string from c string: {0}")]
    StringConversion(String),

    #[error("invalid enum value returned from device: {0}")]
    InvalidEnumValue(String),
}