mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 10:10:46 +00:00
Merge pull request #186 from bjackman/acmecape-improvements
Acmecape improvements
This commit is contained in:
commit
34e7e4c895
@ -37,7 +37,7 @@ class AcmeCapeInstrument(Instrument):
|
|||||||
mode = CONTINUOUS
|
mode = CONTINUOUS
|
||||||
|
|
||||||
def __init__(self, target,
|
def __init__(self, target,
|
||||||
iio_capture=which('iio_capture'),
|
iio_capture=which('iio-capture'),
|
||||||
host='baylibre-acme.local',
|
host='baylibre-acme.local',
|
||||||
iio_device='iio:device0',
|
iio_device='iio:device0',
|
||||||
buffer_size=256):
|
buffer_size=256):
|
||||||
@ -77,17 +77,25 @@ class AcmeCapeInstrument(Instrument):
|
|||||||
def stop(self):
|
def stop(self):
|
||||||
self.process.terminate()
|
self.process.terminate()
|
||||||
timeout_secs = 10
|
timeout_secs = 10
|
||||||
|
output = ''
|
||||||
for _ in xrange(timeout_secs):
|
for _ in xrange(timeout_secs):
|
||||||
if self.process.poll() is not None:
|
if self.process.poll() is not None:
|
||||||
break
|
break
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
else:
|
else:
|
||||||
output = _read_nonblock(self.process.stdout)
|
output += _read_nonblock(self.process.stdout)
|
||||||
self.process.kill()
|
self.process.kill()
|
||||||
self.logger.error('iio-capture did not terminate gracefully')
|
self.logger.error('iio-capture did not terminate gracefully')
|
||||||
if self.process.poll() is None:
|
if self.process.poll() is None:
|
||||||
msg = 'Could not terminate iio-capture:\n{}'
|
msg = 'Could not terminate iio-capture:\n{}'
|
||||||
raise HostError(msg.format(output))
|
raise HostError(msg.format(output))
|
||||||
|
if self.process.returncode != 15: # iio-capture exits with 15 when killed
|
||||||
|
output += self.process.stdout.read()
|
||||||
|
self.logger.info('ACME instrument encountered an error, '
|
||||||
|
'you may want to try rebooting the ACME device:\n'
|
||||||
|
' ssh root@{} reboot'.format(self.host))
|
||||||
|
raise HostError('iio-capture exited with an error ({}), output:\n{}'
|
||||||
|
.format(self.process.returncode, output))
|
||||||
if not os.path.isfile(self.raw_data_file):
|
if not os.path.isfile(self.raw_data_file):
|
||||||
raise HostError('Output CSV not generated.')
|
raise HostError('Output CSV not generated.')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user