From d03061ae6099a04771c0430ae5ca928899ecd848 Mon Sep 17 00:00:00 2001 From: Patrick Goebel Date: Mon, 18 Apr 2016 06:29:00 -0700 Subject: [PATCH] Added missing resetEncoders() function to encoder_driver.ino --- .../src/libraries/ROSArduinoBridge/encoder_driver.ino | 6 ++++++ ros_arduino_python/src/ros_arduino_python/arduino_driver.py | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ros_arduino_firmware/src/libraries/ROSArduinoBridge/encoder_driver.ino b/ros_arduino_firmware/src/libraries/ROSArduinoBridge/encoder_driver.ino index 86eb670..91b90ca 100644 --- a/ros_arduino_firmware/src/libraries/ROSArduinoBridge/encoder_driver.ino +++ b/ros_arduino_firmware/src/libraries/ROSArduinoBridge/encoder_driver.ino @@ -32,6 +32,12 @@ if (i == LEFT) return encoders.YAxisReset(); else return encoders.XAxisReset(); } + + /* Wrap the encoder reset function */ + void resetEncoders() { + resetEncoder(LEFT); + resetEncoder(RIGHT); + } #elif defined(ROBOGAIA_3_AXIS) /* Robogaia 3-axis encoder shield */ diff --git a/ros_arduino_python/src/ros_arduino_python/arduino_driver.py b/ros_arduino_python/src/ros_arduino_python/arduino_driver.py index 70b52b2..f2de5e5 100755 --- a/ros_arduino_python/src/ros_arduino_python/arduino_driver.py +++ b/ros_arduino_python/src/ros_arduino_python/arduino_driver.py @@ -100,10 +100,10 @@ class Arduino: attempts = 1 self.serial_port.write(cmd + '\r') - value = self.serial_port.readline().strip('\n') - + while len(value) == 0 and attempts < max_attempts: + print "Command", cmd, "failed", attempts, "time(s)" self.serial_port.write(cmd + '\r') value = self.serial_port.readline().strip('\n') attempts += 1 @@ -141,6 +141,8 @@ class Arduino: return None def get_encoder_counts(self): + ''' Read the current encoder counts + ''' values = self.execute_array('e') if len(values) != 2: