Struct embedded_hal_vcd::pins::InputPin
source · pub struct InputPin { /* private fields */ }Expand description
A mutable input pin that can be safely shared between threads.
This pin implements embedded_hal::InputPin and can be used
to share an AtomicPinState with an embedded_hal implementation.
Examples
use embedded_hal_sync_pins::pins::{AtomicPinState, InputPin, PinState};
use embedded_hal::digital::InputPin as HalInputPin;
use std::sync::{Arc, atomic::Ordering};
let state = Arc::new(AtomicPinState::new_with_state(PinState::Low));
let pin = InputPin::new(state.clone());
assert_eq!(Ok(true), pin.is_low());
state.store(PinState::High, Ordering::SeqCst);
assert_eq!(Ok(true), pin.is_high());