pub struct DigitalInputDevice { /* private fields */ }
Expand description
Represents a generic input device with typical on/off behaviour. Adds machinery to fire the active and inactive events for devices that operate in a typical digital manner: straight forward on / off states with (reasonably) clean transitions between the two.
Implementations§
Source§impl DigitalInputDevice
impl DigitalInputDevice
Sourcepub fn new(pin: u8) -> DigitalInputDevice
pub fn new(pin: u8) -> DigitalInputDevice
Returns a DigitalInputDevice with the pin number given with the pin pulled to low by default
is_active
property is adjusted accordingly so that
True
still means active regardless of the :attr:pull_up
setting
§Arguments
pin
- The GPIO pin which the device is attached to
§Note: BCM pins 2 and 3 are i2c SDA and SCL respectively and include a fixed, 1.8 kohms pull-up to 3.3v
These pins are not suitable for use where no pullup resistor is required Source: https://pinout.xyz/pinout/pin5_gpio3
Sourcepub fn new_with_pullup(pin: u8) -> DigitalInputDevice
pub fn new_with_pullup(pin: u8) -> DigitalInputDevice
Returns a DigitalInputDevice with the pin number given with the pin pulled high with an internal resistor by default
is_active
property is adjusted accordingly so that
True
still means active regardless of the :attr:pull_up
setting
§Arguments
pin
- The GPIO pin which the device is attached to
Sourcepub fn is_active(&self) -> bool
pub fn is_active(&self) -> bool
Returns True
if the device is currently active and False
otherwise.
Sourcepub fn value(&self) -> bool
pub fn value(&self) -> bool
Returns True
if the device is currently active and False
otherwise.
Sourcepub fn wait_for_inactive(&mut self, timeout: Option<f32>)
pub fn wait_for_inactive(&mut self, timeout: Option<f32>)
Pause the program until the device is deactivated, or the timeout is reached.
Sourcepub fn wait_for_active(&mut self, timeout: Option<f32>)
pub fn wait_for_active(&mut self, timeout: Option<f32>)
Pause the program until the device is activated, or the timeout is reached.