#![no_std]
#![deny(unsafe_code)]
#![deny(warnings)]
#![deny(unused_must_use)]
#![deny(unexpected_cfgs)]
pub mod error;
pub mod measurement;
#[cfg(feature = "sync")]
pub mod synchronous;
#[cfg(feature = "async")]
pub mod asynchronous;
#[doc(hidden)]
pub(crate) mod internal;
#[cfg(any(feature = "scd4x", feature = "scd41"))]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
#[non_exhaustive]
pub enum SensorVariant {
Scd40,
Scd41,
Scd43,
}
#[cfg(not(all(
any(feature = "sync", feature = "async"),
any(feature = "scd30", feature = "scd4x", feature = "scd41")
)))]
compile_error!("You must select at least one sensor (scd30/scd4x/scd41) and at least one mode of operation (sync/async)");