autd3_core/modulation/
mod.rs1mod error;
2
3use crate::firmware::{SamplingConfig, Segment, transition_mode::TransitionModeParams};
4pub use error::ModulationError;
5use std::sync::Arc;
6
7pub trait Modulation {
13 fn calc(self) -> Result<Vec<u8>, ModulationError>;
15
16 #[must_use]
18 fn sampling_config(&self) -> SamplingConfig;
19}
20
21#[doc(hidden)]
22pub struct ModulationOperationGenerator {
23 pub g: Arc<Vec<u8>>,
24 pub config: SamplingConfig,
25 pub rep: u16,
26 pub segment: Segment,
27 pub transition_params: TransitionModeParams,
28}
29
30#[derive(Debug, Clone, PartialEq)]
31pub struct ModulationInspectionResult {
33 pub data: Vec<u8>,
35 pub config: SamplingConfig,
37}