#!/usr/bin/env ruby

require 'rubygems'
require 'serialport'

# If the main monitor is off, the Arduino is also off because it is connected to
# the USB hub inside the monitor. So, if the main monitor is off, the user can't
# control the lights any more and the LED stripes are off too.
abort unless File.exists?('/dev/ttyUSB0')

# Create the serial connection and send the given command.
SerialPort.open('/dev/ttyUSB0', 9600, 8, 1, SerialPort::NONE) do |s|
  command = ARGV.join(' ')
  
  if command == 'on' or command == 'off'
    puts 'all ' + command + '...'
    ['a', 'b', 'c', 'd'].each do |port|
      s.puts(command + ' ' + port)
    end
    s.puts('led ' + command)
  else
    s.puts(ARGV.join(' '))
  end
end
