class Artoo::Adaptors::Adaptor
The Adaptor
class is the base class used to connect to a specific group of hardware devices. Examples would be an Arduino, a Sphero, or an ARDrone.
Derive a class from this class, in order to implement communication with a new type of hardware device. @see github.com/celluloid/celluloid-io Celluloid::IO Documentation
Attributes
Public Class Methods
Initialize an adaptor @param params [hash] @option params [String] :parent @option params [String] :port @option params [String] :additional_params
# File lib/artoo/adaptors/adaptor.rb, line 20 def initialize(params={}) @parent = params[:parent] @port = params[:port] @additional_params = params[:additional_params] @connected = false end
Public Instance Methods
Makes connected flag true @return [Boolean]
# File lib/artoo/adaptors/adaptor.rb, line 35 def connect @connected = true end
Connects to configured port @return [TCPSocket] tcp socket of tcp port @return [String] port configured
# File lib/artoo/adaptors/adaptor.rb, line 60 def connect_to if port.is_tcp? connect_to_tcp else port.port end end
Creates serial connection @param speed [int] @param data_bits [int] @param stop_bits [int] @param parity @return [SerialPort] new connection
# File lib/artoo/adaptors/adaptor.rb, line 84 def connect_to_serial(speed=57600, data_bits=8, stop_bits=1, parity=nil) require 'serialport' parity = ::SerialPort::NONE unless parity @sp = ::SerialPort.new(port.port, speed, data_bits, stop_bits, parity) rescue LoadError Logger.error "Please 'gem install hybridgroup-serialport' for serial port support." end
@return [TCPSocket] TCP socket connection
# File lib/artoo/adaptors/adaptor.rb, line 69 def connect_to_tcp @socket ||= TCPSocket.new(port.host, port.port) end
@return [UDPSocket] UDP socket connection
# File lib/artoo/adaptors/adaptor.rb, line 74 def connect_to_udp @udp_socket ||= UDPSocket.new end
@return [Boolean] connected flag status
# File lib/artoo/adaptors/adaptor.rb, line 53 def connected? @connected == true end
Makes connected flag false @return [Boolean]
# File lib/artoo/adaptors/adaptor.rb, line 41 def disconnect @connected = false true end
Closes connection with device if connected @return [Boolean]
# File lib/artoo/adaptors/adaptor.rb, line 29 def finalize disconnect if connected? end
Makes connected flag true @return [Boolean] true unless connected
# File lib/artoo/adaptors/adaptor.rb, line 48 def reconnect connect unless connected? end