Nxt-python-hints

From Earlham CS Department
Revision as of 09:14, 27 April 2010 by Nickm (talk | contribs)
Jump to navigation Jump to search

Back to Robotics Main Page


Python Programming Hints

  • Wrap your code in a try/finally block so that you can stop the motors on control-c.
try:
  [your code here]
finally:
  [stop all your motors]
  • Generalized kill-switch code
class thread_wait( threading.Thread ):
  def __init__( self, condition, action ):
     threading.Thread.__init__( self )
     self.condition = condition
     self.action = action
  
  def run( self ):
     while not self.condition():
         sleep(0.1)
     self.action

Usage:

kill_switch_thread = thread_wait( get_kill_switch_function, suicide_function )
kill_switch_thread.start()