class M3pi::Robot

Public Class Methods

new(address, serial) click to toggle source
# File lib/m3pi/robot.rb, line 7
def initialize address, serial
  @xbee = XBeeRuby::XBee.new serial: serial
  @address = address = XBeeRuby::Address64.new *address
end

Public Instance Methods

drive(speed, turn_radius) click to toggle source
# File lib/m3pi/robot.rb, line 16
def drive speed, turn_radius
  raise "Speed is to high, speed must be less than 100" if speed > 100
  raise "Speed is to low, speed must be greater than -100" if speed < -100
  raise "Turn radius is to high, turn_radius must be less than 100" if speed > 100
  raise "Turn radius is to low, turn_radius must be greater than -100" if speed < -100
  send [0x10, [speed].pack("c").getbyte(0), [turn_radius].pack("c").getbyte(0)]
end
forward() click to toggle source
# File lib/m3pi/robot.rb, line 24
def forward
  drive 100, 0
end
left() click to toggle source
# File lib/m3pi/robot.rb, line 32
def left
  drive 0, -100
end
reverse() click to toggle source
# File lib/m3pi/robot.rb, line 28
def reverse
  drive -100, 0
end
right() click to toggle source
# File lib/m3pi/robot.rb, line 36
def right
  drive 0, 100
end
send(data) click to toggle source
# File lib/m3pi/robot.rb, line 12
def send data
  @xbee.write_request XBeeRuby::TxRequest.new  @address, data
end