Struct rppal::gpio::IoPin [−][src]
pub struct IoPin { /* fields omitted */ }Expand description
GPIO pin that can be (re)configured for any mode or alternate function.
IoPins are constructed by converting a Pin using Pin::into_io.
The pin’s mode is automatically set to the specified mode.
An IoPin can be reconfigured for any available mode. Depending on the
mode, some methods may not have any effect. For instance, calling a method that
alters the pin’s output state won’t cause any changes when the pin’s mode is set
to Input.
The embedded-hal digital::OutputPin and PwmPin trait implementations for IoPin
can be enabled by specifying the optional hal feature in the dependency
declaration for the rppal crate.
The unproven embedded-hal digital::InputPin, digital::StatefulOutputPin,
digital::ToggleableOutputPin and Pwm trait implementations for IoPin can be enabled
by specifying the optional hal-unproven feature in the dependency declaration for
the rppal crate.
Implementations
Returns the GPIO pin number.
Pins are addressed by their BCM numbers, rather than their physical location.
Configures the built-in pull-up/pull-down resistors.
Reads the pin’s logic level, and returns true if it’s set to High.
Configures a software-based PWM signal.
period indicates the time it takes to complete one cycle.
pulse_width indicates the amount of time the PWM signal is active during a
single period.
Software-based PWM is inherently inaccurate on a multi-threaded OS due to
scheduling/preemption. If an accurate or faster PWM signal is required, use the
hardware Pwm peripheral instead. More information can be found here.
If set_pwm is called when a PWM thread is already active, the existing thread
will be reconfigured at the end of the current cycle.
Configures a software-based PWM signal.
set_pwm_frequency is a convenience method that converts frequency to a period and
duty_cycle to a pulse width, and then calls set_pwm.
frequency is specified in hertz (Hz).
duty_cycle is specified as a floating point value between 0.0 (0%) and 1.0 (100%).
Stops a previously configured software-based PWM signal.
The thread responsible for emulating the PWM signal is stopped at the end of the current cycle.
Returns the value of reset_on_drop.
When enabled, resets the pin’s mode to its original state and disables the
built-in pull-up/pull-down resistors when the pin goes out of scope.
By default, this is set to true.
Note
Drop methods aren’t called when a process is abnormally terminated, for
instance when a user presses Ctrl + C, and the SIGINT signal
isn’t caught. You can catch those using crates such as simple_signal.
Trait Implementations
InputPin trait implementation for embedded-hal v1.0.0-alpha.5.
Unproven InputPin trait implementation for embedded-hal v0.2.6.
Pwm trait implementation for embedded-hal v1.0.0-alpha.5.
Disables a PWM channel.
Enables a PWM channel.
Returns the current PWM period.
Returns the current duty cycle.
Returns the maximum duty cycle value.
Sets a new duty cycle.
Sets a new PWM period.
Unproven Pwm trait implementation for embedded-hal v0.2.6.
Returns the current PWM period.
Returns the maximum duty cycle value.
Sets a new PWM period.
PwmPin trait implementation for embedded-hal v1.0.0-alpha.5.
Returns the maximum duty cycle value
PwmPin trait implementation for embedded-hal v0.2.6.
Returns the maximum duty cycle value
StatefulOutputPin trait implementation for embedded-hal v1.0.0-alpha.5.
Unproven StatefulOutputPin trait implementation for embedded-hal v0.2.6.
ToggleableOutputPin trait implementation for embedded-hal v1.0.0-alpha.5.
Unproven ToggleableOutputPin trait implementation for embedded-hal v0.2.6.