class BlinkyTape

Constants

VERSION

Attributes

led_count[RW]
port[RW]
serial[RW]

Public Class Methods

new(port) click to toggle source
# File lib/BlinkyTape.rb, line 10
def initialize(port)
  @port = port
  @led_count = 60
  connect
  show
end

Public Instance Methods

close() click to toggle source
# File lib/BlinkyTape.rb, line 31
def close
  @serial.close
end
connect() click to toggle source
# File lib/BlinkyTape.rb, line 17
def connect
  # @serial = SerialPort.new(@port, 115200, 8, 1, SerialPort::NONE)
  @serial = SerialPort.new(@port, 115200)

  raise "Cannot connect to #{@port}" if @serial.nil?    
end
display_color(r=255, g=255, b=255) click to toggle source
# File lib/BlinkyTape.rb, line 51
def display_color(r=255, g=255, b=255)
  0.upto(@led_count) do
    send_pixel r,g,b
  end
  show
end
reset() click to toggle source
# File lib/BlinkyTape.rb, line 24
def reset
  @serial.close
  @serial = SerialPort.new(@port, 1200)
  sleep 1
  connect
end
send_pixel(r,g,b) click to toggle source
# File lib/BlinkyTape.rb, line 40
def send_pixel(r,g,b)
  sleep 0.001
  data = ""
  r = 254 if r == 255
  g = 254 if g == 255
  b = 254 if b == 255
  data = r.chr + g.chr + b.chr
  @serial.write data
  @serial.flush
end
show() click to toggle source
# File lib/BlinkyTape.rb, line 35
def show
  @serial.write 255.chr
  @serial.flush
end