pub trait Modulation: ModulationProperty {
    // Required method
    fn calc(&self) -> Result<Vec<EmitIntensity>, AUTDInternalError>;

    // Provided method
    fn len(&self) -> Result<usize, AUTDInternalError> { ... }
}
Expand description

Modulation controls the amplitude modulation data.

Modulation has following restrictions:

  • The buffer size is up to 65536.
  • The sampling rate is [crate::FPGA_CLK_FREQ]/N, where N is a 32-bit unsigned integer and must be at least [crate::SAMPLING_FREQ_DIV_MIN].
  • Modulation automatically loops. It is not possible to control only one loop, etc.
  • The start/end timing of Modulation cannot be controlled.

Required Methods§

Provided Methods§

Trait Implementations§

Implementations on Foreign Types§

source§

impl Modulation for Box<dyn Modulation>

Implementors§