class Domotics::Core::ArduinoBoard

Public Class Methods

new(args_hash = {}) click to toggle source
Calls superclass method Domotics::Core::Device::new
# File lib/domotics/core/device/arduino_board.rb, line 5
def initialize(args_hash = {})
  @pins = Hash.new
  super
end

Public Instance Methods

[](number = nil) click to toggle source

Return pin object

# File lib/domotics/core/device/arduino_board.rb, line 16
def [](number = nil)
  return @pins[number] if number
  @pins
end
register_pin(pin_object, number) click to toggle source

Register pin for watch events

# File lib/domotics/core/device/arduino_board.rb, line 11
def register_pin(pin_object, number)
  @pins[number] = pin_object
end

Private Instance Methods

event_handler(hash) click to toggle source

Override default handler

# File lib/domotics/core/device/arduino_board.rb, line 24
def event_handler(hash)
  case hash[:event]
    # Tell element to change state
  when :pin_state_changed
    element = @pins[hash[:pin]]
    element.state_changed element.to_hls(hash[:state])
  when :malfunction
    nil
  else
    nil
  end
end