class BlinkyTapeTestStatus::Base
Public Class Methods
new(options={})
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 3 def initialize(options={}) @tty ||= options[:tty] || best_guess_tty raise "No tty specified or discoved" unless @tty end
Public Instance Methods
blue!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 8 def blue! write! 'sb' end
color!(color)
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 12 def color!(color) write! color end
flash!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 16 def flash! write! 'f' end
pulse!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 20 def pulse! write! 'p' end
quit!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 24 def quit! serial_port.flush serial_port.close @serial_port = nil end
rainbow!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 30 def rainbow! write! 'x' end
shutdown!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 34 def shutdown! blue! quit! end
solid!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 39 def solid! write! 's' end
test_sequence!()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 43 def test_sequence! write! 't' end
write!(*commands)
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 47 def write!(*commands) commands.each do |command| serial_port.puts command end quit! end
Protected Instance Methods
best_guess_tty()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 55 def best_guess_tty if Gem.win_platform? best_guess_tty_windows else Dir.glob "/dev/tty.usbmodem*" do |tty| return tty end end end
best_guess_tty_windows()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 65 def best_guess_tty_windows 0.upto(10) do |x| @tty = x begin serial_port @tty = nil return x rescue Errno::ENOENT end end end
serial_port()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 77 def serial_port @serial_port ||= SerialPort.new @tty, 9600, 8, 1, SerialPort::NONE end
valid_port()
click to toggle source
# File lib/blinky_tape_test_status/base.rb, line 81 def valid_port return @valid_port if @valid_port end