Class: IoT::DigitalEffector
Overview
DigitalEffector - effector/actuator with digitized control
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Effector
#model_name, #name
Constructor Details
#initialize(pins = {}, state = :low) ⇒ DigitalEffector
Returns a new instance of DigitalEffector.
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/iot/digital_effector.rb', line 9
def initialize(pins={}, state=:low)
@pin = nil
@states = {} @pins = pins @pins.each_value do |pin|
RPi::GPIO.setup pin, :as => :output, :initialize => state
@states[pin] = (state == :high)
end
@pin = pins.values[0] end
|
Class Method Details
.off(pin = @pin) ⇒ Object
24
25
26
|
# File 'lib/iot/digital_effector.rb', line 24
def self.off(pin=@pin)
RPi::GPIO.set_low pin
end
|
.on(pin = @pin) ⇒ Object
20
21
22
|
# File 'lib/iot/digital_effector.rb', line 20
def self.on(pin=@pin)
RPi::GPIO.set_high pin
end
|
Instance Method Details
#off(pin = @pin) ⇒ Object
33
34
35
36
|
# File 'lib/iot/digital_effector.rb', line 33
def off(pin=@pin)
DigitalEffector.off pin
@states[pin_number(pin)] = false
end
|
#off?(pin = @pin) ⇒ Boolean
42
43
44
|
# File 'lib/iot/digital_effector.rb', line 42
def off?(pin=@pin)
!on?(pin)
end
|
#on(pin = @pin) ⇒ Object
28
29
30
31
|
# File 'lib/iot/digital_effector.rb', line 28
def on(pin=@pin)
DigitalEffector.on pin
@states[pin_number(pin)] = true
end
|
#on?(pin = @pin) ⇒ Boolean
38
39
40
|
# File 'lib/iot/digital_effector.rb', line 38
def on?(pin=@pin)
@states[pin_number(pin)]
end
|