aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_README.md (renamed from tools/uhd_txrx_debug_prints_README.md)0
-rwxr-xr-x[-rw-r--r--]tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_graph.py (renamed from tools/uhd_txrx_debug_prints_graph.py)43
2 files changed, 39 insertions, 4 deletions
diff --git a/tools/uhd_txrx_debug_prints_README.md b/tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_README.md
index 1425a4d96..1425a4d96 100644
--- a/tools/uhd_txrx_debug_prints_README.md
+++ b/tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_README.md
diff --git a/tools/uhd_txrx_debug_prints_graph.py b/tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_graph.py
index 4fbd7aa86..b0f6681f6 100644..100755
--- a/tools/uhd_txrx_debug_prints_graph.py
+++ b/tools/uhd_txrx_debug_prints/uhd_txrx_debug_prints_graph.py
@@ -1,6 +1,27 @@
-
-__author__ = 'johannes'
-
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright 2013-2014 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+"""
+Plots the output of the streamers that is produced when DEBUG_TXRX
+is enabled.
+"""
+
+import argparse
import matplotlib.pyplot as plt
import numpy as np
@@ -52,6 +73,8 @@ def convert_to_bool(data):
def convert_data_set(data, reqtype):
zdata = zip(*data)
res = []
+ if len(zdata) == 0:
+ return res
for i in range(len(reqtype)):
if reqtype[i] == np.bool:
res.append(np.asarray(convert_to_bool(zdata[i]), dtype=np.bool))
@@ -256,6 +279,9 @@ def plot_rtt_lines(data, fignum):
rx = extract_libusb("rx", data)
#tx = extract_libusb("tx", data)
+ if len(data) == 0 or len(rx) == 0:
+ return
+
plt.figure(fignum)
for i in range(len(rx[0])):
if rx[0][i] > -1:
@@ -307,11 +333,19 @@ def get_unknown_lines(data):
rx_metadata_error_codes = {0x0: "NONE", 0x1: "TIMEOUT", 0x2: "LATE_COMMAND", 0x4: "BROKEN_CHAIN", 0x8: "OVERFLOW",
0xc: "ALIGNMENT", 0xf: "BAD_PACKET"}
+
+def parse_args():
+ """ Parse args, yo """
+ parser = argparse.ArgumentParser(description='Plot tool for debug prints.')
+ parser.add_argument('-f', '--filename', default=None, help='Debug output file')
+ return parser.parse_args()
+
# Be really careful with the input files. They get pretty huge in a small time.
# Doing some of the plotting can eat up a lot of time then.
# Although this file contains a lot of functions by now, it is still left to the user to use everythin correctly.
def main():
- filename = "/home/johannes/tests/bseries_stall/bseries_stall_3.log"
+ args = parse_args()
+ filename = args.filename
print "get data from: ", filename
#pref1 = "super_recv_packet_handler"
#pref2 = "recv"
@@ -376,5 +410,6 @@ def main():
plt.show()
if __name__ == '__main__':
+ print "[WARNING] This tool is in alpha status. Only use if you know what you're doing!"
main()