#[derive(Clone, #[derive(Clone, #[derive(Clone, #[derive(Clone, frequency, frequency, frequency, frequency, frequency, Double, Double, Double, Double, Double, Double, Double, waveform, waveform, waveform, waveform, waveform, Deserialize)] Deserialize)] Deserialize)] Deserialize)] WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, Waveform::Triangle Waveform::Triangle Waveform::Triangle self.amplitude self.amplitude self.amplitude self.amplitude Waveform::PulseEigth Waveform::PulseEigth Waveform::PulseEigth Serialize, Serialize, Serialize, Serialize, Serialize, amplitude: amplitude: amplitude: amplitude: amplitude: Quarter, Quarter, Quarter, Quarter, Quarter, Quarter, Waveform) Waveform) Waveform) Waveform) Waveform) Quarter, Quarter, Quarter, Quarter, Quarter, Quarter, amplitude: amplitude: amplitude: amplitude: amplitude: Waveform::PulseQuarter Waveform::PulseQuarter Waveform::PulseQuarter -self.amplitude -self.amplitude -self.amplitude -self.amplitude amplitude: amplitude: amplitude: amplitude: amplitude: Deserialize)] Deserialize)] Deserialize)] Deserialize)] self.amplitude self.amplitude self.amplitude self.amplitude WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, self.waveform self.waveform self.waveform self.waveform set_phase(&mut set_phase(&mut set_phase(&mut set_phase(&mut self.phase self.phase self.phase self.phase self.phase #[derive(Enum, #[derive(Enum, #[derive(Enum, #[derive(Enum, Deserialize)] Deserialize)] Deserialize)] Deserialize)] frequency, frequency, frequency, frequency, frequency, num_traits; num_traits; num_traits; num_traits; num_traits; self.phase self.phase self.phase self.phase self.phase Serialize, Serialize, Serialize, Serialize, Serialize, #[derive(Clone, #[derive(Clone, #[derive(Clone, #[derive(Clone, Waveform::PulseEigth Waveform::PulseEigth Waveform::PulseEigth waveform; waveform; waveform; waveform; waveform; EighthT, EighthT, EighthT, EighthT, EighthT, EighthT, self.phase self.phase self.phase self.phase self.phase set_waveform(&mut set_waveform(&mut set_waveform(&mut WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, Serialize, Serialize, Serialize, Serialize, Serialize, Deserialize)] Deserialize)] Deserialize)] Deserialize)] self.phase, self.phase, self.phase, self.phase, self.phase, waveform: waveform: waveform: waveform: waveform: Deserialize)] Deserialize)] Deserialize)] Deserialize)] Triangle, Triangle, Triangle, Triangle, Triangle, -self.amplitude -self.amplitude -self.amplitude -self.amplitude self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase Waveform::Square Waveform::Square Waveform::Square set_phase(&mut set_phase(&mut set_phase(&mut set_phase(&mut frequency, frequency, frequency, frequency, frequency, self.phase, self.phase, self.phase, self.phase, self.phase, self.phase self.phase self.phase self.phase self.phase self.waveform self.waveform self.waveform self.waveform self.phase self.phase self.phase self.phase self.phase Waveform::Ramp Waveform::Ramp Waveform::Ramp Waveform::Ramp set_frequency(&mut set_frequency(&mut set_frequency(&mut self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase self.phase WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, WholeT, self.amplitude self.amplitude self.amplitude self.amplitude self.amplitude self.amplitude self.amplitude self.amplitude Deserialize)] Deserialize)] Deserialize)] Deserialize)] waveform: waveform: waveform: waveform: waveform: Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)] Deserialize)]