Class: M3pi::Robot
- Inherits:
-
Object
- Object
- M3pi::Robot
- Defined in:
- lib/m3pi/robot.rb
Instance Method Summary collapse
- #drive(speed, turn_radius) ⇒ Object
- #forward ⇒ Object
-
#initialize(address, serial) ⇒ Robot
constructor
A new instance of Robot.
- #left ⇒ Object
- #reverse ⇒ Object
- #right ⇒ Object
- #send(data) ⇒ Object
Constructor Details
#initialize(address, serial) ⇒ Robot
Returns a new instance of Robot.
7 8 9 10 |
# File 'lib/m3pi/robot.rb', line 7 def initialize address, serial @xbee = XBeeRuby::XBee.new serial: serial @address = address = XBeeRuby::Address64.new *address end |
Instance Method Details
#drive(speed, turn_radius) ⇒ Object
16 17 18 19 20 21 22 |
# 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 ⇒ Object
24 25 26 |
# File 'lib/m3pi/robot.rb', line 24 def forward drive 100, 0 end |
#left ⇒ Object
32 33 34 |
# File 'lib/m3pi/robot.rb', line 32 def left drive 0, -100 end |
#reverse ⇒ Object
28 29 30 |
# File 'lib/m3pi/robot.rb', line 28 def reverse drive -100, 0 end |
#right ⇒ Object
36 37 38 |
# File 'lib/m3pi/robot.rb', line 36 def right drive 0, 100 end |
#send(data) ⇒ Object
12 13 14 |
# File 'lib/m3pi/robot.rb', line 12 def send data @xbee.write_request XBeeRuby::TxRequest.new @address, data end |