diff options
Diffstat (limited to 'gpio.rb')
-rw-r--r-- | gpio.rb | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -0,0 +1,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 |