autd3_driver/datagram/
mod.rs

1mod boxed;
2mod clear;
3mod cpu_gpio_out;
4mod force_fan;
5mod fpga_gpio_out;
6mod gain;
7mod gpio_in;
8mod info;
9mod modulation;
10mod phase_corr;
11mod pulse_width_encoder;
12mod reads_fpga_state;
13mod segment;
14mod silencer;
15mod stm;
16mod synchronize;
17mod tuple;
18mod with_loop_behavior;
19mod with_segment;
20
21#[doc(inline)]
22pub use super::firmware::operation::SwapSegment;
23#[doc(inline)]
24pub use super::firmware::operation::{ControlPoint, ControlPoints};
25pub use boxed::{BoxedDatagram, IntoBoxedDatagram};
26pub use clear::Clear;
27#[doc(hidden)]
28pub use cpu_gpio_out::{CpuGPIOOutputs, CpuGPIOPort};
29pub use force_fan::ForceFan;
30pub use fpga_gpio_out::GPIOOutputs;
31pub use gain::{BoxedGain, IntoBoxedGain};
32#[doc(hidden)]
33pub use gpio_in::EmulateGPIOIn;
34pub use modulation::{BoxedModulation, IntoBoxedModulation};
35pub use phase_corr::PhaseCorrection;
36pub use pulse_width_encoder::PulseWidthEncoder;
37pub use reads_fpga_state::ReadsFPGAState;
38pub use silencer::{FixedCompletionSteps, FixedCompletionTime, FixedUpdateRate, Silencer};
39pub use stm::{
40    FociSTM, FociSTMGenerator, FociSTMIterator, FociSTMIteratorGenerator, GainSTM,
41    GainSTMGenerator, GainSTMIterator, GainSTMIteratorGenerator, GainSTMOption, STMConfig,
42};
43pub use with_loop_behavior::WithLoopBehavior;
44pub use with_segment::WithSegment;
45
46pub use synchronize::Synchronize;
47
48pub use autd3_core::datagram::Datagram;
49
50use crate::{
51    firmware::operation::NullOp,
52    geometry::{Device, Geometry},
53};
54
55use crate::{error::AUTDDriverError, firmware::operation::OperationGenerator};
56
57#[cfg(test)]
58pub(crate) mod tests {
59    use crate::firmware::operation::tests::create_device;
60
61    use super::*;
62
63    pub fn create_geometry(n: u16, num_trans_in_unit: u8) -> Geometry {
64        Geometry::new((0..n).map(|_| create_device(num_trans_in_unit)).collect())
65    }
66}