pub trait Modulation: Debug {
// Required methods
fn calc(self, limits: &FirmwareLimits) -> Result<Vec<u8>, ModulationError>;
fn sampling_config(&self) -> SamplingConfig;
}
Expand description
Trait for applying amplitude modulation.
See also Modulation
derive macro.
Required Methods§
Sourcefn calc(self, limits: &FirmwareLimits) -> Result<Vec<u8>, ModulationError>
fn calc(self, limits: &FirmwareLimits) -> Result<Vec<u8>, ModulationError>
Calculate the modulation data.
Sourcefn sampling_config(&self) -> SamplingConfig
fn sampling_config(&self) -> SamplingConfig
The sampling configuration.
Implementors§
impl Modulation for BoxedModulation
impl Modulation for Static
impl<Config> Modulation for Custom<Config>
Available on crate feature
modulation
only.impl<M: Modulation> Modulation for Fir<M>
Available on crate feature
modulation
only.impl<M: Modulation> Modulation for RadiationPressure<M>
Available on crate feature
modulation
only.impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Fourier<S>
Available on crate feature
modulation
only.impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Sine<S>
Available on crate feature
modulation
only.impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Square<S>
Available on crate feature
modulation
only.