Example #1
0
 def script_square(self, robot, _log):
     """ Same as 'square' demo, but using a script with 'wait distance'
     and 'wait angle' statements."""
     robot.define_script(irobot.make_script(
         # 1st side
         irobot.Command.drive(200),
         irobot.Command.wait_distance(300),
         irobot.Command.drive(200, irobot.OI_SPIN_CCW),
         irobot.Command.wait_angle(90),
         # 2nd side
         irobot.Command.drive(200),
         irobot.Command.wait_distance(300),
         irobot.Command.drive(200, irobot.OI_SPIN_CCW),
         irobot.Command.wait_angle(90),
         irobot.Command.drive(200),
         # 3rd side
         irobot.Command.wait_distance(300),
         irobot.Command.drive(200, irobot.OI_SPIN_CCW),
         irobot.Command.wait_angle(90),
         irobot.Command.drive(200),
         # 4th side, ended by a reciprocal spi
         irobot.Command.wait_distance(300),
         irobot.Command.drive(200, irobot.OI_SPIN_CW),
         irobot.Command.wait_angle(-270),
         # that's all folks
         irobot.Command.stop()
     )
     )
     robot.play_script()
Example #2
0
 def script_leds(self, robot, _log):
     """ Execute a script which lights the "play" LED when the bumper is pressed."""
     robot.define_script(irobot.make_script(
         irobot.Command.wait_event(irobot.OI_WAIT_BUMP),
         irobot.Command.wait_event(irobot.inverse(irobot.OI_WAIT_BUMP)),
         irobot.Command.leds(irobot.OI_LED_PLAY, irobot.OI_LED_OFF, irobot.OI_LED_OFF),
         irobot.Command.wait_event(irobot.OI_WAIT_BUMP),
         irobot.Command.wait_event(irobot.inverse(irobot.OI_WAIT_BUMP)),
         irobot.Command.leds(irobot.OI_LED_OFF, irobot.OI_LED_OFF, irobot.OI_LED_OFF),
         irobot.Command.play_script()
     )
     )
     robot.play_script()