Class: Beaglebone::GPIOPin
- Inherits:
-
Object
- Object
- Beaglebone::GPIOPin
- Defined in:
- lib/beaglebone/gpio.rb
Overview
Object Oriented GPIO Implementation. This treats the pin as an object.
Instance Method Summary collapse
-
#digital_read ⇒ Symbol
Reads a pin’s input state and return that value.
-
#digital_write(state) ⇒ Object
Sets a pin’s output state.
-
#disable_gpio_pin ⇒ Object
Disable GPIO pin.
-
#get_gpio_edge ⇒ Symbol
Returns the GPIO edge trigger type.
-
#get_gpio_mode ⇒ Symbol
Returns mode from pin, reads mode if unknown.
-
#get_gpio_state ⇒ Symbol
Returns last known state from
pin, reads state if unknown. -
#initialize(pin, mode) ⇒ GPIOPin
constructor
Initialize a GPIO pin Return’s a GPIOPin object, setting the pin mode on initialization.
-
#run_on_edge(callback, edge, timeout = nil, repeats = nil) ⇒ Object
Runs a callback on an edge trigger event.
-
#run_once_on_edge(callback, edge, timeout = nil) ⇒ Object
Runs a callback one time on an edge trigger event.
-
#set_gpio_edge(edge, force = nil) ⇒ Object
Set GPIO edge trigger type.
-
#set_gpio_mode(mode) ⇒ Object
Set GPIO mode on an initialized pin.
-
#stop_edge_wait ⇒ Object
Stops any threads waiting for data on this pin.
-
#wait_for_edge(edge, timeout = nil) ⇒ Symbol
Wait for an edge trigger.
Constructor Details
Instance Method Details
#digital_read ⇒ Symbol
Reads a pin’s input state and return that value
504 505 506 |
# File 'lib/beaglebone/gpio.rb', line 504 def digital_read GPIO::digital_read(@pin) end |
#digital_write(state) ⇒ Object
Sets a pin’s output state
493 494 495 |
# File 'lib/beaglebone/gpio.rb', line 493 def digital_write(state) GPIO::digital_write(@pin, state) end |
#disable_gpio_pin ⇒ Object
Disable GPIO pin
593 594 595 |
# File 'lib/beaglebone/gpio.rb', line 593 def disable_gpio_pin GPIO::disable_gpio_pin(@pin) end |
#get_gpio_edge ⇒ Symbol
Returns the GPIO edge trigger type
565 566 567 |
# File 'lib/beaglebone/gpio.rb', line 565 def get_gpio_edge GPIO::get_gpio_edge(@pin) end |
#get_gpio_mode ⇒ Symbol
Returns mode from pin, reads mode if unknown
559 560 561 |
# File 'lib/beaglebone/gpio.rb', line 559 def get_gpio_mode GPIO::get_gpio_mode(@pin) end |
#get_gpio_state ⇒ Symbol
Returns last known state from pin, reads state if unknown
553 554 555 |
# File 'lib/beaglebone/gpio.rb', line 553 def get_gpio_state GPIO::get_gpio_state(@pin) end |
#run_on_edge(callback, edge, timeout = nil, repeats = nil) ⇒ Object
Runs a callback on an edge trigger event. This creates a new thread that runs in the background
519 520 521 |
# File 'lib/beaglebone/gpio.rb', line 519 def run_on_edge(callback, edge, timeout=nil, repeats=nil) GPIO::run_on_edge(callback, @pin, edge, timeout, repeats) end |
#run_once_on_edge(callback, edge, timeout = nil) ⇒ Object
Runs a callback one time on an edge trigger event. this is a convenience method for run_on_edge
526 527 528 |
# File 'lib/beaglebone/gpio.rb', line 526 def run_once_on_edge(callback, edge, timeout=nil) GPIO::run_once_on_edge(callback, @pin, edge, timeout) end |
#set_gpio_edge(edge, force = nil) ⇒ Object
Set GPIO edge trigger type
588 589 590 |
# File 'lib/beaglebone/gpio.rb', line 588 def set_gpio_edge(edge, force=nil) GPIO::set_gpio_edge(@pin, edge, force) end |
#set_gpio_mode(mode) ⇒ Object
Set GPIO mode on an initialized pin
577 578 579 |
# File 'lib/beaglebone/gpio.rb', line 577 def set_gpio_mode(mode) GPIO::set_gpio_mode(@pin, mode) end |
#stop_edge_wait ⇒ Object
Stops any threads waiting for data on this pin
532 533 534 |
# File 'lib/beaglebone/gpio.rb', line 532 def stop_edge_wait GPIO::stop_edge_wait(@pin) end |
#wait_for_edge(edge, timeout = nil) ⇒ Symbol
Wait for an edge trigger. Returns the type that triggered the event, e.g. :RISING, :FALLING, :BOTH
547 548 549 |
# File 'lib/beaglebone/gpio.rb', line 547 def wait_for_edge(edge, timeout=nil) GPIO::wait_for_edge(@pin, edge, timeout) end |