Changeset 648 for trunk/software
- Timestamp:
- 02/01/10 19:51:05 (2 years ago)
- Files:
-
- 1 modified
-
trunk/software/rb/drive.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/software/rb/drive.py
r598 r648 18 18 19 19 ''' 20 Functions to communicate with the `2008 legacy motor controllers`_ 21 via RS-232. 22 23 .. _2008 legacy motor controllers: http://www.rhitrobotics.org/wiki/igvc/2008-motor-control 20 Communicate with the 2009 motor controllers via RS-232. 24 21 ''' 25 22 … … 46 43 # Max speed 47 44 MAX = 400 45 # Max duty cycle 46 DC_MAX = 255 48 47 49 48 Ok, Err = range(2) … … 170 169 logger.info("Motor %s main starting", self.dev) 171 170 while self.drive.running: 172 self._send( "setspeed", self.target *MAX) # Ping!171 self._send('setdc', self.target * DC_MAX) # Ping! 173 172 time.sleep(.05) 174 173 logger.info("Motor %s main terminating", self.dev) 175 self._send( "setspeed", 0)174 self._send('setdc', 0) 176 175 177 176 def _send(self, type, *t_data): 178 177 #print "Acquiring drive %s lock" % (self._port_name,) 179 self._port_lock.acquire() 180 try: 178 with self._port_lock: 181 179 t, r = messages[type] 182 180 … … 216 214 return r_data[0] 217 215 return r_data 218 finally:219 self._port_lock.release()

