Struct DigitalPin

Source
pub struct DigitalPin<'a> { /* private fields */ }
Expand description

Provides access to a digital pin, e.g. PD4.

Implementations§

Source§

impl<'a> DigitalPin<'a>

Source

pub fn set(&mut self, high: bool)

Changes pin’s state to low or high.

Source

pub fn set_low(&mut self)

Changes pin’s state to low.

Source

pub fn set_high(&mut self)

Changes pin’s state to high.

Source

pub fn toggle(&mut self)

Changes pin’s state from low to high or from high to low.

Source

pub fn is_low(&mut self) -> bool

Returns whether pin’s state is low.

Source

pub fn is_high(&mut self) -> bool

Returns whether pin’s state is high.

Source

pub fn assert(&mut self, high: bool)

Asserts that pin’s state is high or low.

Source

pub fn assert_low(&mut self)

Asserts that pin’s state is low.

Source

pub fn assert_high(&mut self)

Asserts that pin’s state is high.

Source

pub fn pulse_in(&mut self) -> AvrDuration

Waits until pin switches state (e.g. from low to high or from high to low).

Returns duration it took for the pin to switch state.

Source

pub fn wait_while_low(&mut self) -> AvrDuration

Waits until pin becomes high; if the pin is already high, exits immediately.

Returns duration it took for the pin to get high.

Source

pub fn wait_while_low_timeout( &mut self, timeout: AvrDuration, ) -> Result<AvrDuration, AvrDuration>

Waits until pin becomes high or timeout is reached; if the pin is already high, exits immediately.

Returns a result containing the amount of time that has passed for the device.

If the timeout was reached before the pin state changed, the duration will be contained in the Err variant, otherwise the Ok variant contains the duration it took for the pin to get high.

Source

pub fn wait_while_high(&mut self) -> AvrDuration

Waits until pin becomes low; if the pin is already low, exits immediately.

Returns duration it took for the pin to get low.

Source

pub fn wait_while_high_timeout( &mut self, timeout: AvrDuration, ) -> Result<AvrDuration, AvrDuration>

Waits until pin becomes low or timeout is reached; if the pin is already low, exits immediately.

Returns a result containing the amount of time that has passed for the device.

If the timeout was reached before the pin state changed, the duration will be contained in the Err variant, otherwise the Ok variant contains the duration it took for the pin to get low.

Source

pub fn name(&self) -> String

Return pin’s name, e.g. PC6.

Auto Trait Implementations§

§

impl<'a> Freeze for DigitalPin<'a>

§

impl<'a> !RefUnwindSafe for DigitalPin<'a>

§

impl<'a> !Send for DigitalPin<'a>

§

impl<'a> !Sync for DigitalPin<'a>

§

impl<'a> Unpin for DigitalPin<'a>

§

impl<'a> !UnwindSafe for DigitalPin<'a>

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.