aboutsummaryrefslogtreecommitdiff
path: root/Tools/usb_serialload.py
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-11-03 08:39:16 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-11-03 08:39:16 +0100
commit5e2330abbae35bfc45e5ac67d3590b53de20f526 (patch)
tree68d450ac7b5de7ace96bb039f25015c14ad7f798 /Tools/usb_serialload.py
parent884e7c2ad5f5a79245c8d602901fda756ab6ca51 (diff)
downloadpx4-firmware-5e2330abbae35bfc45e5ac67d3590b53de20f526.tar.gz
px4-firmware-5e2330abbae35bfc45e5ac67d3590b53de20f526.tar.bz2
px4-firmware-5e2330abbae35bfc45e5ac67d3590b53de20f526.zip
Add USB load test from Mark Whitehorn
Diffstat (limited to 'Tools/usb_serialload.py')
-rw-r--r--Tools/usb_serialload.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/Tools/usb_serialload.py b/Tools/usb_serialload.py
new file mode 100644
index 000000000..5c864532f
--- /dev/null
+++ b/Tools/usb_serialload.py
@@ -0,0 +1,55 @@
+import serial, time
+
+
+port = serial.Serial('/dev/ttyACM0', baudrate=57600, timeout=2)
+
+data = '01234567890123456789012345678901234567890123456789'
+#data = 'hellohello'
+outLine = 'echo %s\n' % data
+
+port.write('\n\n\n')
+port.write('free\n')
+line = port.readline(80)
+while line != '':
+ print(line)
+ line = port.readline(80)
+
+
+i = 0
+bytesOut = 0
+bytesIn = 0
+
+startTime = time.time()
+lastPrint = startTime
+while True:
+ bytesOut += port.write(outLine)
+ line = port.readline(80)
+ bytesIn += len(line)
+ # check command line echo
+ if (data not in line):
+ print('command error %d: %s' % (i,line))
+ #break
+ # read echo output
+ line = port.readline(80)
+ if (data not in line):
+ print('echo output error %d: %s' % (i,line))
+ #break
+ bytesIn += len(line)
+ #print('%d: %s' % (i,line))
+ #print('%d: bytesOut: %d, bytesIn: %d' % (i, bytesOut, bytesIn))
+
+ elapsedT = time.time() - lastPrint
+ if (time.time() - lastPrint >= 5):
+ outRate = bytesOut / elapsedT
+ inRate = bytesIn / elapsedT
+ usbRate = (bytesOut + bytesIn) / elapsedT
+ lastPrint = time.time()
+ print('elapsed time: %f' % (time.time() - startTime))
+ print('data rates (bytes/sec): out: %f, in: %f, total: %f' % (outRate, inRate, usbRate))
+
+ bytesOut = 0
+ bytesIn = 0
+
+ i += 1
+ #if (i > 2): break
+