require "rover_utils"
require "relay_board"

class MockRelayBoard < RelayBoard
  include LogHelper
  
  def initialize config, portname='/dev/relay'
    super(config, "/dev/null")
    syslog("_ initializer called with portname = #{portname}")
    port_name = "/dev/null"
    @relay_status = { NET => 0, RACK => 0, OPTODE => 0,
      PUMP => 0,V5 => 0, V12 => 0,
      VIDEO => 0, MOTORS => 0}
  end
  
  def valid_relay?(relay_num)
    if relay_num && relay_num > 0 && relay_num < 9
      true
    else if relay_num == 0
      puts("Relay number 0 not supported by mock relay board")
      syslog("Relay number 0 not supported by mock relay board")
      false
    else
      false
    end
  end
  
  def turn_on(relay_num)
    if !valid_relay?(relay_num)
      syslog("! invalid relay number")
      return
    end
    @relay_status[relay_num] = 1
    nil
  end
  
  def turn_off(relay_num)
    if !valid_relay?(relay_num)
      syslog("! invalid relay number")
      return
    end
    @relay_status[relay_num] = 0
  end  
  
  def get_status(relay_num)
    if !valid_relay?(relay_num)
      syslog("! invalid relay number")
      return
    end
    @relay_status[relay_num]
  end

end