Class: Artoo::Adaptors::Roomba

Inherits:
Adaptor
  • Object
show all
Defined in:
lib/artoo/adaptors/roomba.rb

Overview

Instance Attribute Summary collapse

Attributes inherited from Adaptor

#parent, #port

Instance Method Summary collapse

Methods inherited from Adaptor

#connect_to, #connect_to_serial, #connect_to_tcp, #connect_to_udp, #connected?, #initialize, #reconnect

Constructor Details

This class inherits a constructor from Artoo::Adaptors::Adaptor

Instance Attribute Details

#spObject (readonly)

Returns the value of attribute sp.



8
9
10
# File 'lib/artoo/adaptors/roomba.rb', line 8

def sp
  @sp
end

Instance Method Details

#connectObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/artoo/adaptors/roomba.rb', line 16

def connect
  if port.is_serial?
    @sp = connect_to_serial
    @sp.dtr = 0
    @sp.rts = 0
  else
    @sp = connect_to_tcp
  end
  super
end

#disconnectObject



36
37
38
39
# File 'lib/artoo/adaptors/roomba.rb', line 36

def disconnect
  @sp.close
  super
end

#finalizeObject



10
11
12
13
14
# File 'lib/artoo/adaptors/roomba.rb', line 10

def finalize
  if connected?
    @sp.close
  end
end

#send_bytes(bytes) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/artoo/adaptors/roomba.rb', line 27

def send_bytes(bytes)
  bytes = [bytes] unless bytes.respond_to?(:map)
  bytes.map!(&:chr)
  Logger.debug "sending: #{bytes.inspect}"
  res = []
  bytes.each{|b| res << @sp.write(b) }
  Logger.debug "returned: #{res.inspect}"
end