class PinX

This is a base clase used by gems rpi_pwm, rpi_led_simulator, myfirmata-plugin-led, and simple_wiimote.

Constants

HIGH
LOW

Attributes

id[R]

Public Class Methods

new(id) click to toggle source
# File lib/pinx.rb, line 22
def initialize(id)
  @id = id
  @on, @blinking = false, false
end

Public Instance Methods

blinking?() click to toggle source
# File lib/pinx.rb, line 27
def blinking?()
  @blinking
end
close(durationx=nil, duration: nil)
Alias for: off
high(durationx=nil, duration: nil)
Alias for: on
lock(durationx=nil, duration: nil)
Alias for: on
low(durationx=nil, duration: nil)
Alias for: off
off(durationx=nil, duration: nil) click to toggle source
# File lib/pinx.rb, line 42
def off(durationx=nil, duration: nil)
  
  set_pin LOW
  @on, @blinking = false, false      
  duration ||=  durationx
  
  @on_thread.exit if @on_thread
  @off_thread = Thread.new { (sleep duration; on()) } if duration

end
Also aliased as: stop, low, close, unlock
off?() click to toggle source
# File lib/pinx.rb, line 95
def off?() !@on end
on(durationx=nil, duration: nil) click to toggle source
# File lib/pinx.rb, line 31
def on(durationx=nil, duration: nil)
  
  set_pin HIGH
  @on, @blinking = true, false
  duration ||=  durationx
  
  @off_thread.exit if @off_thread
  @on_thread = Thread.new {(sleep duration; off()) } if duration

end
Also aliased as: start, high, open, lock
on?() click to toggle source
# File lib/pinx.rb, line 94
def on?()  @on  end
open(durationx=nil, duration: nil)
Alias for: on
oscillate(seconds=0.5, duration: nil)
Alias for: blink
start(durationx=nil, duration: nil)
Alias for: on
stop(durationx=nil, duration: nil)
Alias for: off
to_s() click to toggle source
# File lib/pinx.rb, line 97
def to_s()
  @id
end
unlock(durationx=nil, duration: nil)
Alias for: off

Protected Instance Methods

set_pin(val) click to toggle source

set val with 0 (off) or 1 (on)

# File lib/pinx.rb, line 105
def set_pin(val)
  @on  = val
end