mod error;
use crate::firmware::{SamplingConfig, Segment, transition_mode::TransitionModeParams};
pub use error::ModulationError;
use std::sync::Arc;
pub trait Modulation {
fn calc(self) -> Result<Vec<u8>, ModulationError>;
#[must_use]
fn sampling_config(&self) -> SamplingConfig;
}
#[doc(hidden)]
pub struct ModulationOperationGenerator {
pub g: Arc<Vec<u8>>,
pub config: SamplingConfig,
pub rep: u16,
pub segment: Segment,
pub transition_params: TransitionModeParams,
}
#[derive(Debug, Clone, PartialEq)]
pub struct ModulationInspectionResult {
pub data: Vec<u8>,
pub config: SamplingConfig,
}