blob: e7ad10e6b5e59f665578f43e68c527c2c53efccd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
class Gpio
def initialize(pin, prefix: "/sys/class/gpio")
@pin = pin
@prefix = prefix
end
attr_reader :pin, :prefix
def export
File.write("#{prefix}/export", pin)
File.write("#{prefix}/gpio#{pin}/direction", "out")
end
def value
File.read("#{prefix}/gpio#{pin}/value").strip == "1" ? true : false
end
def value=(value)
File.write("#{prefix}/gpio#{pin}/value", value ? "1" : "0")
end
def toggle
self.value = !value
end
end
|