class PiDriver::Device::MCP23017::HardwareAddress

Attributes

a0[R]
a1[R]
a2[R]

Public Class Methods

address_writer(*addresses) click to toggle source
# File lib/pi_driver/device/mcp23017/hardware_address.rb, line 17
def self.address_writer(*addresses)
  addresses.each do |address|
    setter_symbol = "#{address}=".to_sym
    getter_instance = "@#{address}"

    define_method setter_symbol do |value|
      @argument_helper.check(:hardware_address, value, Utils::State::VALID_STATES)
      instance_variable_set(getter_instance, value)
      @observer.update_opcodes
      instance_variable_get getter_instance
    end
  end
end
new(options) click to toggle source
# File lib/pi_driver/device/mcp23017/hardware_address.rb, line 7
def initialize(options)
  @argument_helper = Utils::ArgumentHelper.new prefix: 'MCP23017::HardwareAddress'

  @observer = options.delete :observer

  @a0 = Utils::State::LOW
  @a1 = Utils::State::LOW
  @a2 = Utils::State::LOW
end