pub struct USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: OutputPin<Error = Infallible>, EchoPin: InputPin<Error = Infallible>,
{ /* private fields */ }
Expand description

Represents an ultrasonic distance sensor with trigger and echo pins

Implementations§

source§

impl<TriggerPin, EchoPin> USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: OutputPin<Error = Infallible>, EchoPin: InputPin<Error = Infallible>,

source

pub fn create_on_pins(trigger: TriggerPin, echo: EchoPin, delay: Delay) -> Self

Initializes a new ultrasonic distance sensor.

§Arguments
  • trigger - The output pin used to trigger the sensor.
  • echo - The input pin used to read the echo signal.
  • delay - Delay provider for timing the trigger pulse.
§Returns

A new instance of USDistanceSensor.

source

pub fn get_distance(&mut self, ambient_temp: f32) -> f32

Measures the distance to an object by sending an ultrasonic pulse and measuring the time taken for the echo to return. !!! For esp32 should only be built with esp-wifi (“esp32-wifi” feature)

§Arguments
  • ambient_temp - The ambient temperature in degrees Celsius, used to adjust the speed of sound.
§Returns

The measured distance in meters.

Auto Trait Implementations§

§

impl<TriggerPin, EchoPin> Freeze for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: Freeze, EchoPin: Freeze,

§

impl<TriggerPin, EchoPin> RefUnwindSafe for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: RefUnwindSafe, EchoPin: RefUnwindSafe,

§

impl<TriggerPin, EchoPin> Send for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: Send, EchoPin: Send,

§

impl<TriggerPin, EchoPin> Sync for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: Sync, EchoPin: Sync,

§

impl<TriggerPin, EchoPin> Unpin for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: Unpin, EchoPin: Unpin,

§

impl<TriggerPin, EchoPin> UnwindSafe for USDistanceSensor<TriggerPin, EchoPin>
where TriggerPin: UnwindSafe, EchoPin: UnwindSafe,

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.