hcsr04 0.1.0

A platform-agnostic, `no_std` driver for the HC-SR04 ultrasonic distance sensor
Documentation
//! HC-SR04 ultrasonic distance sensor driver
//!
//! This crate provides a platform-agnostic driver for the HC-SR04 ultrasonic distance sensor
//! using the [`embedded-hal`] and [`embedded-hal-async`] traits.
//!
//! # Features
//!
//! - Multiple measurement methods with different precision levels
//! - Hardware abstraction through traits
//! - Temperature compensation support
//! - Interrupt-based measurement for highest precision
//! - `no_std` compatible
//!
//! [`embedded-hal`]: https://docs.rs/embedded-hal/latest/embedded_hal/
//! [`embedded-hal-async`]: https://docs.rs/embedded-hal-async/latest/embedded_hal_async/

#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![cfg_attr(not(test), no_std)]
#![deny(unsafe_code)]
#![warn(missing_docs)]
#![cfg_attr(not(doctest), doc = include_str!("../README.md"))]

pub mod error;
pub mod hcsr04;
pub mod temperature;

// Re-exports for convenience
pub use error::Error;
pub use hcsr04::Hcsr04;
pub use temperature::{NoTemperatureCompensation, TemperatureProvider};

// Additional Feature specific modules and re-exports

/// This alias simplifies function signatures by defaulting the error type
/// to the crate's custom [`Error`] enum.
pub(crate) type Result<T> = core::result::Result<T, crate::error::Error>;