class Artoo::Drivers::AnalogSensor

AnalogSensors driver behaviors

Constants

COMMANDS

Attributes

lower[R]
previous_read[R]
upper[R]

Public Instance Methods

analog_read(pin) click to toggle source
# File lib/artoo/drivers/analog_sensor.rb, line 11
def analog_read(pin)
  connection.analog_read(pin)
end
start_driver() click to toggle source
Calls superclass method
# File lib/artoo/drivers/analog_sensor.rb, line 15
def start_driver
  @previous_read = 0
  @upper = additional_params[:upper].nil? ? 1023 : additional_params[:upper]
  @lower = additional_params[:lower].nil? ? 0 : additional_params[:lower]

  every(interval) do
    new_value = connection.analog_read(pin)
    update(new_value) unless new_value.nil?
  end if !interval.nil? and interval > 0

  super
end

Private Instance Methods

update(new_val) click to toggle source

Publishes events according to the button feedback

# File lib/artoo/drivers/analog_sensor.rb, line 30
def update(new_val)
  @previous_read = new_val

  if new_val >= @upper
    publish(event_topic_name("update"), "upper", new_val)
    publish(event_topic_name("upper"), new_val)
  elsif new_val <= @lower
    publish(event_topic_name("update"), "lower", new_val)
    publish(event_topic_name("lower"), new_val)
  end
end