hdctools: servod: bugfix for automatic change of FTDI pid.
BUG=chrome-os-partner:7585
TEST=manual,
sudo servod -c servo_v2.xml -p 0x5002
Check output looks like,
2012-01-27 17:45:06,530 - Servod - INFO - Initializing FTDI interface 1 to dummy
2012-01-27 17:45:06,530 - Servod - INFO - Initializing FTDI interface 2 to i2c
2012-01-27 17:45:06,535 - Servod - INFO - Initializing FTDI interface 3 to uart
2012-01-27 17:45:06,537 - Servod - INFO - /dev/pts/19
2012-01-27 17:45:06,537 - Servod - INFO - Initializing FTDI interface 4 to uart
2012-01-27 17:45:06,539 - Servod - INFO - /dev/pts/22
2012-01-27 17:45:06,540 - Servod - INFO - Changing to next FTDI part @ pid = 0x5003
2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 5 to dummy
2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 6 to dummy
2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 7 to uart
2012-01-27 17:45:06,542 - Servod - INFO - /dev/pts/23
2012-01-27 17:45:06,542 - Servod - INFO - Initializing FTDI interface 8 to uart
2012-01-27 17:45:06,544 - Servod - INFO - /dev/pts/24
Change-Id: Ifb253704075d557476da8115994aae14468cc81e
Reviewed-on: https://gerrit.chromium.org/gerrit/14955
Tested-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Ready: Todd Broch <tbroch@chromium.org>
diff --git a/servo/servo_server.py b/servo/servo_server.py
index 2c46d5c..5bd6127 100644
--- a/servo/servo_server.py
+++ b/servo/servo_server.py
@@ -52,6 +52,12 @@
interfaces = ftdi_common.INTERFACE_DEFAULTS[vendor][product]
for i, name in enumerate(interfaces):
+ # servos with multiple FTDI are guaranteed to have contiguous USB PIDs
+ if i and ((i % ftdi_common.MAX_FTDI_INTERFACES_PER_DEVICE) == 0):
+ self._product += 1
+ self._logger.info("Changing to next FTDI part @ pid = 0x%04x",
+ self._product)
+
self._logger.info("Initializing FTDI interface %d to %s", i + 1, name)
try:
func = getattr(self, '_init_%s' % name)
@@ -63,9 +69,6 @@
else:
self._interface_list.append(result)
- # servos with multiple FTDI are guaranteed to have contiguous USB PIDs
- if i and i % ftdi_common.MAX_FTDI_INTERFACES_PER_DEVICE == 0:
- self._product += 1
def _init_dummy(self, interface):
"""Initialize dummy interface.