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