tekhsi_rs 0.1.1

High-performance client for Tektronix TekHSI enabled oscilloscopes
Documentation
//! Error types returned by TekHSI client APIs.
mod acquisition;
mod connection;
mod decode;
mod subscription;
mod symbol;

pub use acquisition::AcquisitionError;
pub use connection::ConnectionError;
pub use decode::DecodeError;
pub use subscription::{SubscriptionError, SubscriptionUpdateError};
pub use symbol::SymbolError;

use thiserror::Error;

/// Top-level error type returned by TekHSI client APIs.
#[derive(Debug, Error)]
pub enum TekHsiError {
    #[error("gRPC status: {0}")]
    Grpc(#[from] tonic::Status),
    #[error("transport error: {0}")]
    Transport(#[from] tonic::transport::Error),
    #[error("connection error: {0}")]
    Connection(#[from] ConnectionError),
    #[error("decode error: {0}")]
    Decode(#[from] DecodeError),
    #[error("subscription error: {0}")]
    Subscription(#[from] SubscriptionError),
    #[error("subscription update error: {0}")]
    SubscriptionUpdate(#[from] SubscriptionUpdateError),
    #[error(
        "no valid data was received from the scope (increasing HSI timeout on the scope may help)"
    )]
    NoValidData,
}