Module: Domotics::Arduino::DigitalPin

Included in:
DigitalSensor, NCSensor, NOSensor
Defined in:
lib/domotics/arduino/digital_pin.rb

Instance Method Summary collapse

Instance Method Details

#initialize(args = {}) ⇒ Object



4
5
6
7
8
9
# File 'lib/domotics/arduino/digital_pin.rb', line 4

def initialize(args = {})
  @device = args[:device]
  @pin = args[:pin]
  @device.register_pin self, @pin
  super
end

#set_state(value) ⇒ Object



15
16
17
18
# File 'lib/domotics/arduino/digital_pin.rb', line 15

def set_state(value)
  @device.set_digital @pin, to_lls(value)
  super
end

#state!Object



11
12
13
# File 'lib/domotics/arduino/digital_pin.rb', line 11

def state!
  to_hls @device.get_digital(@pin)
end

#to_hls(value) ⇒ Object

Convert to High Level State



21
22
23
# File 'lib/domotics/arduino/digital_pin.rb', line 21

def to_hls(value)
  value == ArduinoBase::HIGH ? :on : :off
end

#to_lls(value) ⇒ Object

Convert to Low Level State



26
27
28
# File 'lib/domotics/arduino/digital_pin.rb', line 26

def to_lls(value)
  value == :on ? ArduinoBase::HIGH : ArduinoBase::LOW
end