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