autd3_core/modulation/
mod.rsmod error;
mod sampling_config;
use std::sync::Arc;
pub use error::{ModulationError, SamplingConfigError};
pub use sampling_config::SamplingConfig;
use crate::datagram::{LoopBehavior, Segment, TransitionMode};
pub trait Modulation: std::fmt::Debug {
fn calc(self) -> Result<Vec<u8>, ModulationError>;
fn sampling_config(&self) -> Result<SamplingConfig, ModulationError>;
}
#[doc(hidden)]
pub struct ModulationOperationGenerator {
pub g: Arc<Vec<u8>>,
pub config: SamplingConfig,
pub loop_behavior: LoopBehavior,
pub segment: Segment,
pub transition_mode: Option<TransitionMode>,
}