Class: BeagleBoard::Linux::Gpio
- Inherits:
-
Base::Gpio
- Object
- Base::Gpio
- BeagleBoard::Linux::Gpio
- Defined in:
- lib/beagleboard/linux/gpio.rb
Instance Method Summary collapse
- #close ⇒ Object
- #direction ⇒ Object
- #direction=(value) ⇒ Object
-
#initialize(bank, gpio) ⇒ Gpio
constructor
A new instance of Gpio.
- #open ⇒ Object
- #value ⇒ Object
- #value=(value) ⇒ Object
Constructor Details
#initialize(bank, gpio) ⇒ Gpio
Returns a new instance of Gpio.
6 7 8 9 10 |
# File 'lib/beagleboard/linux/gpio.rb', line 6 def initialize(bank, gpio) @gpio_number = bank * 32 + gpio @gpio_directory = "/sys/class/gpio/gpio#{@gpio_number}" super end |
Instance Method Details
#close ⇒ Object
16 17 18 |
# File 'lib/beagleboard/linux/gpio.rb', line 16 def close File.write('/sys/class/gpio/unexport', @gpio_number.to_s) end |
#direction ⇒ Object
20 21 22 |
# File 'lib/beagleboard/linux/gpio.rb', line 20 def direction File.read("#{@gpio_directory}/direction").to_sym end |
#direction=(value) ⇒ Object
24 25 26 27 28 |
# File 'lib/beagleboard/linux/gpio.rb', line 24 def direction=(value) raise StandardError, 'Invalid direction' unless %i[in out low high].include?(value) File.write("#{@gpio_directory}/direction", value.to_s) end |
#open ⇒ Object
12 13 14 |
# File 'lib/beagleboard/linux/gpio.rb', line 12 def open File.write('/sys/class/gpio/export', @gpio_number.to_s) end |
#value ⇒ Object
30 31 32 |
# File 'lib/beagleboard/linux/gpio.rb', line 30 def value File.read("#{@gpio_directory}/value").to_i end |
#value=(value) ⇒ Object
34 35 36 |
# File 'lib/beagleboard/linux/gpio.rb', line 34 def value=(value) File.write("#{@gpio_directory}/value", value.to_s) end |