use smol_str::SmolStr;
use crate::data::Waveform;
use crate::errors::{AcquisitionError, DecodeError};
use crate::tekscope::WaveformHeader;
#[derive(Debug)]
pub enum ChannelData {
Waveform {
acq_id: u64,
symbol: SmolStr,
header: WaveformHeader,
waveform: Waveform,
},
DecodeError {
symbol: SmolStr,
header: WaveformHeader,
error: DecodeError,
},
AcquisitionError {
symbol: SmolStr,
error: AcquisitionError,
},
}
impl ChannelData {
pub fn symbol(&self) -> &SmolStr {
match self {
ChannelData::Waveform { symbol, .. } => symbol,
ChannelData::DecodeError { symbol, .. } => symbol,
ChannelData::AcquisitionError { symbol, .. } => symbol,
}
}
}