Sha256: f425d5a9c69a32443a29da863747687c21e64ad96990314a4c77d8f2f50d1fa8

Contents?: true

Size: 490 Bytes

Versions: 4

Compression:

Stored size: 490 Bytes

Contents

module ExtremeFeedbackDevice
  class SPI
    DEFAULT_DEVICE = '/dev/spidev0.0'

    attr_reader :device

    def initialize(device=nil)
      @device = device || DEFAULT_DEVICE
    end

    def write(data)
      ::File.open(device, 'wb') do |spi|
        spi.write(data)
        spi.flush
      end
    end

    def write_colors(colors)
      write(colors_to_data(colors))
    end

  private

    def colors_to_data(colors)
      colors.flatten.pack('CCC' * colors.length)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
extreme_feedback_device-0.0.4 lib/extreme_feedback_device/spi.rb
extreme_feedback_device-0.0.3 lib/extreme_feedback_device/spi.rb
extreme_feedback_device-0.0.2 lib/extreme_feedback_device/spi.rb
extreme_feedback_device-0.0.1 lib/extreme_feedback_device/spi.rb