Class: BeagleBoard::Linux::Gpio

Inherits:
Base::Gpio show all
Defined in:
lib/beagleboard/linux/gpio.rb

Instance Method Summary collapse

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

#closeObject



16
17
18
# File 'lib/beagleboard/linux/gpio.rb', line 16

def close
  File.write('/sys/class/gpio/unexport', @gpio_number.to_s)
end

#directionObject



20
21
22
# File 'lib/beagleboard/linux/gpio.rb', line 20

def direction
  File.read("#{@gpio_directory}/direction").to_sym
end

#direction=(value) ⇒ Object

Raises:

  • (StandardError)


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

#openObject



12
13
14
# File 'lib/beagleboard/linux/gpio.rb', line 12

def open
  File.write('/sys/class/gpio/export', @gpio_number.to_s)
end

#valueObject



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