pub struct DigitalPin<'a> { /* private fields */ }
Expand description
Provides access to a digital pin, e.g. PD4
.
Implementations§
Source§impl<'a> DigitalPin<'a>
impl<'a> DigitalPin<'a>
Sourcepub fn assert_low(&mut self)
pub fn assert_low(&mut self)
Asserts that pin’s state is low.
Sourcepub fn assert_high(&mut self)
pub fn assert_high(&mut self)
Asserts that pin’s state is high.
Sourcepub fn pulse_in(&mut self) -> AvrDuration
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.
Sourcepub fn wait_while_low(&mut self) -> AvrDuration
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.
Sourcepub fn wait_while_low_timeout(
&mut self,
timeout: AvrDuration,
) -> Result<AvrDuration, AvrDuration>
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.
Sourcepub fn wait_while_high(&mut self) -> AvrDuration
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.
Sourcepub fn wait_while_high_timeout(
&mut self,
timeout: AvrDuration,
) -> Result<AvrDuration, AvrDuration>
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.