#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_docs)]
#![warn(rustdoc::missing_crate_level_docs)]
#![warn(rustdoc::unescaped_backticks)]
#[cfg_attr(docsrs, doc(cfg(feature = "acoustics")))]
#[cfg(feature = "acoustics")]
pub mod acoustics;
#[cfg_attr(docsrs, doc(cfg(feature = "common")))]
#[cfg(feature = "common")]
pub mod common;
#[cfg_attr(docsrs, doc(cfg(feature = "datagram")))]
#[cfg(feature = "datagram")]
pub mod datagram;
#[cfg_attr(docsrs, doc(cfg(feature = "devices")))]
#[cfg(feature = "devices")]
pub mod devices;
#[cfg_attr(docsrs, doc(cfg(feature = "environment")))]
#[cfg(feature = "environment")]
#[doc(hidden)]
pub mod environment;
#[cfg_attr(docsrs, doc(cfg(feature = "ethercat")))]
#[cfg(feature = "ethercat")]
pub mod ethercat;
#[cfg_attr(docsrs, doc(cfg(feature = "firmware")))]
#[cfg(feature = "firmware")]
pub mod firmware;
#[cfg_attr(docsrs, doc(cfg(feature = "gain")))]
#[cfg(feature = "gain")]
pub mod gain;
#[cfg_attr(docsrs, doc(cfg(feature = "geometry")))]
#[cfg(feature = "geometry")]
pub mod geometry;
#[cfg_attr(docsrs, doc(cfg(feature = "link")))]
#[cfg(feature = "link")]
pub mod link;
#[cfg_attr(docsrs, doc(cfg(feature = "modulation")))]
#[cfg(feature = "modulation")]
pub mod modulation;
#[cfg_attr(docsrs, doc(cfg(feature = "sleep")))]
#[cfg(feature = "sleep")]
pub mod sleep;
#[cfg_attr(docsrs, doc(cfg(feature = "utils")))]
#[cfg(feature = "utils")]
#[doc(hidden)]
pub mod utils;
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
#[cfg(feature = "derive")]
pub mod derive {
#[cfg(any(feature = "gain", feature = "modulation"))]
mod common {
pub use crate::{
datagram::{DatagramOption, DeviceMask, Inspectable, InspectionResult, internal},
environment::Environment,
firmware::{Segment, transition_mode},
geometry::Geometry,
};
}
#[cfg(any(feature = "gain", feature = "modulation"))]
pub use common::*;
#[cfg(feature = "gain")]
mod gain {
pub use crate::{
datagram::DatagramS,
firmware::{Drive, Intensity, Phase},
gain::{
DeviceTransducerMask, Gain, GainCalculator, GainCalculatorGenerator, GainError,
GainInspectionResult, GainOperationGenerator, TransducerMask,
},
geometry::{Device, Transducer},
};
pub use autd3_derive::Gain;
}
#[cfg(feature = "gain")]
pub use gain::*;
#[cfg(feature = "modulation")]
mod modulation {
pub use crate::datagram::{Datagram, DatagramL};
pub use crate::firmware::{SamplingConfig, SamplingConfigError};
pub use crate::modulation::{
Modulation, ModulationError, ModulationInspectionResult, ModulationOperationGenerator,
};
pub use autd3_derive::Modulation;
}
#[cfg(feature = "modulation")]
pub use modulation::*;
}