class ExtremeFeedbackDevice::Pi

Attributes

leds[R]

Public Class Methods

new(num_leds, spi_device=nil) click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 9
def initialize(num_leds, spi_device=nil)
  @leds = []
  num_leds.times { @leds << ::Color::RGB.new }
  @spi_device = spi_device
end

Public Instance Methods

leds_black() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 23
def leds_black
  leds.map! { |led| ::Color::RGB::Black }
end
leds_black!() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 27
def leds_black!
  leds_black && write!
end
leds_white() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 15
def leds_white
  leds.map! { |led| ::Color::RGB::White }
end
leds_white!() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 19
def leds_white!
  leds_white && write!
end
write!() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 31
def write!
  spi.write_colors(colors)
end

Private Instance Methods

colors() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 41
def colors
  leds.map { |led| [led.red, led.green, led.blue] }
end
spi() click to toggle source
# File lib/extreme_feedback_device/pi.rb, line 37
def spi
  @spi ||= ExtremeFeedbackDevice::SPI.new(@spi_device)
end