forked from Archive/PX4-Autopilot
56 lines
1.4 KiB
Python
Executable File
56 lines
1.4 KiB
Python
Executable File
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
|
|
|