Trait Modulation

Source
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§

Source

fn calc(self, limits: &FirmwareLimits) -> Result<Vec<u8>, ModulationError>

Calculate the modulation data.

Source

fn sampling_config(&self) -> SamplingConfig

The sampling configuration.

Implementors§

Source§

impl Modulation for BoxedModulation

Source§

impl Modulation for Static

Source§

impl<Config> Modulation for Custom<Config>
where Config: Into<SamplingConfig> + Debug + Copy,

Available on crate feature modulation only.
Source§

impl<M: Modulation> Modulation for Fir<M>

Available on crate feature modulation only.
Source§

impl<M: Modulation> Modulation for RadiationPressure<M>

Available on crate feature modulation only.
Source§

impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Fourier<S>

Available on crate feature modulation only.
Source§

impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Sine<S>

Available on crate feature modulation only.
Source§

impl<S: Into<SamplingMode> + Clone + Copy + Debug> Modulation for Square<S>

Available on crate feature modulation only.