Chromium Code Reviews| Index: tools/telemetry/telemetry/core/platform/profiler/monsoon.py |
| diff --git a/tools/telemetry/telemetry/core/platform/profiler/monsoon.py b/tools/telemetry/telemetry/core/platform/profiler/monsoon.py |
| index 21cb6d2fe7727f2e3c5067034f2f65ff108410b2..0b5ce1001431b71157577c5a04d30e82921cea2e 100644 |
| --- a/tools/telemetry/telemetry/core/platform/profiler/monsoon.py |
| +++ b/tools/telemetry/telemetry/core/platform/profiler/monsoon.py |
| @@ -19,6 +19,7 @@ from telemetry.core import util |
| util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'pyserial') |
| import serial # pylint: disable=F0401 |
| +import serial.tools.list_ports |
| Power = collections.namedtuple('Power', ['amps', 'volts']) |
| @@ -54,11 +55,12 @@ class Monsoon: |
| self.ser = serial.Serial(device, timeout=1) |
| return |
| - while 1: # Try all /dev/ttyACM* until we find one we can use. |
| - for dev in os.listdir('/dev'): |
| - if not dev.startswith('ttyACM'): |
| + while 1: |
| + devices = serial.tools.list_ports.comports() |
| + for dev in devices: |
|
tonyg
2014/06/09 16:51:56
This loop'd be a lot more readable as
for port, d
|
| + if not dev[1].lower().startswith('mobile device power monitor'): |
| continue |
| - tmpname = '/tmp/monsoon.%s.%s' % (os.uname()[0], dev) |
| + tmpname = '/tmp/monsoon.%s.%s' % (os.uname()[0], os.path.basename(dev[0])) |
|
tonyg
2014/06/09 16:51:57
nit: please hold line length to 80 cols.
http://g
|
| self._tempfile = open(tmpname, 'w') |
| try: # Use a lockfile to ensure exclusive access. |
| # Put the import in here to avoid doing it on unsupported platforms. |
| @@ -69,7 +71,7 @@ class Monsoon: |
| continue |
| try: # Try to open the device. |
| - self.ser = serial.Serial('/dev/%s' % dev, timeout=1) |
| + self.ser = serial.Serial(dev[0], timeout=1) |
| self.StopDataCollection() # Just in case. |
| self._FlushInput() # Discard stale input. |
| status = self.GetStatus() |