1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![warn(missing_docs)]
3#![warn(rustdoc::missing_crate_level_docs)]
4#![warn(rustdoc::unescaped_backticks)]
5
6#[cfg_attr(docsrs, doc(cfg(feature = "acoustics")))]
9#[cfg(feature = "acoustics")]
10pub mod acoustics;
12#[cfg_attr(docsrs, doc(cfg(feature = "common")))]
13#[cfg(feature = "common")]
14pub mod common;
16#[cfg_attr(docsrs, doc(cfg(feature = "datagram")))]
17#[cfg(feature = "datagram")]
18pub mod datagram;
20#[cfg_attr(docsrs, doc(cfg(feature = "environment")))]
21#[cfg(feature = "environment")]
22#[doc(hidden)]
23pub mod environment;
24#[cfg_attr(docsrs, doc(cfg(feature = "ethercat")))]
25#[cfg(feature = "ethercat")]
26pub mod ethercat;
28#[cfg_attr(docsrs, doc(cfg(feature = "gain")))]
29#[cfg(feature = "gain")]
30pub mod gain;
32#[cfg_attr(docsrs, doc(cfg(feature = "geometry")))]
33#[cfg(feature = "geometry")]
34pub mod geometry;
36#[cfg_attr(docsrs, doc(cfg(feature = "link")))]
37#[cfg(feature = "link")]
38pub mod link;
40#[cfg_attr(docsrs, doc(cfg(feature = "modulation")))]
41#[cfg(feature = "modulation")]
42pub mod modulation;
44#[cfg_attr(docsrs, doc(cfg(feature = "sampling_config")))]
45#[cfg(feature = "sampling_config")]
46#[doc(hidden)]
47pub mod sampling_config;
48#[cfg_attr(docsrs, doc(cfg(feature = "sleep")))]
49#[cfg(feature = "sleep")]
50#[doc(hidden)]
51pub mod sleep;
52#[cfg_attr(docsrs, doc(cfg(feature = "utils")))]
53#[cfg(feature = "utils")]
54#[doc(hidden)]
55pub mod utils;
56
57#[cfg_attr(docsrs, doc(cfg(feature = "async-trait")))]
58#[cfg(feature = "async-trait")]
59pub use async_trait::async_trait;
60
61#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
149#[cfg(feature = "derive")]
150pub mod derive {
151 #[cfg(any(feature = "gain", feature = "modulation"))]
152 mod common {
153 pub use crate::{
154 datagram::{
155 DatagramOption, DeviceFilter, FirmwareLimits, Inspectable, InspectionResult,
156 Segment, TransitionMode,
157 },
158 environment::Environment,
159 geometry::Geometry,
160 };
161 pub use num_cpus;
162 pub use tynm;
163 }
164 #[cfg(any(feature = "gain", feature = "modulation"))]
165 pub use common::*;
166
167 #[cfg(feature = "gain")]
168 mod gain {
169 pub use crate::{
170 datagram::DatagramS,
171 gain::{
172 Drive, Gain, GainCalculator, GainCalculatorGenerator, GainError,
173 GainInspectionResult, GainOperationGenerator, Intensity, Phase, TransducerFilter,
174 },
175 geometry::{Device, Transducer},
176 };
177 pub use autd3_derive::Gain;
178 }
179 #[cfg(feature = "gain")]
180 pub use gain::*;
181
182 #[cfg(feature = "modulation")]
183 mod modulation {
184 pub use crate::datagram::{Datagram, DatagramL, LoopBehavior};
185 pub use crate::modulation::{
186 Modulation, ModulationError, ModulationInspectionResult, ModulationOperationGenerator,
187 };
188 pub use crate::sampling_config::{SamplingConfig, SamplingConfigError};
189 pub use autd3_derive::Modulation;
190 pub use std::{collections::HashMap, sync::Arc};
191 }
192 #[cfg(feature = "modulation")]
193 pub use modulation::*;
194}