pub struct OutputPin<'memory>(pub UnsafePointerPin<'memory>);
Expand description
Abstraction over GPIO pin set to output (writing) direction.
This is obtainable by using input_pin
method of Device
struct.
You can have multiple leases of output pin in your program as long as you don’t keep an input pin lease for the same PinId.
In such case OutputPin
abstraction can’t be instantiated.
Tuple Fields§
§0: UnsafePointerPin<'memory>
Implementations§
Source§impl<'memory> OutputPin<'memory>
impl<'memory> OutputPin<'memory>
pub fn into_input(self) -> OdroidResult<InputPin<'memory>>
Sourcepub fn set_value(&mut self, value: Value)
pub fn set_value(&mut self, value: Value)
Examples found in repository?
examples/blinking_led.rs (line 17)
11fn main() -> Result<(), Box<dyn Error>> {
12 let mut odroid = Device::new()?;
13 let mut led_pin = odroid.output_pin(PinId::Phy7)?;
14 let blink_interval = Duration::from_millis(500);
15
16 loop {
17 led_pin.set_value(Value::High);
18 sleep(blink_interval);
19 led_pin.set_value(Value::Low);
20 sleep(blink_interval);
21 }
22}
Trait Implementations§
Auto Trait Implementations§
impl<'memory> Freeze for OutputPin<'memory>
impl<'memory> RefUnwindSafe for OutputPin<'memory>
impl<'memory> Send for OutputPin<'memory>
impl<'memory> Sync for OutputPin<'memory>
impl<'memory> Unpin for OutputPin<'memory>
impl<'memory> UnwindSafe for OutputPin<'memory>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more