diff options
author | adrian <adrian@FreeBSD.org> | 2013-05-05 09:38:02 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-05-05 09:38:02 +0000 |
commit | b39866a58247217436763acd68e49cd81594d017 (patch) | |
tree | b2c6689dcd8ff7fd4a1ecdcaffcb3e90fe715e92 /tools | |
parent | f6095fb25a03adbe42501dd5a42c59fd3d6992ba (diff) | |
download | FreeBSD-src-b39866a58247217436763acd68e49cd81594d017.zip FreeBSD-src-b39866a58247217436763acd68e49cd81594d017.tar.gz |
This is a simple script to output the delta between each TX and TXSTATUS.
Useful for debugging TDMA.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/tools/ath/athalq/txdiff.pl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/tools/ath/athalq/txdiff.pl b/tools/tools/ath/athalq/txdiff.pl new file mode 100755 index 0000000..dff9405 --- /dev/null +++ b/tools/tools/ath/athalq/txdiff.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + +use strict; + +# $FreeBSD$ + +# [1360537229.753890] [100494] TXD +# [1360537229.754292] [100494] TXSTATUS: TxDone=1, TS=0x5ccfa5c7 + +my ($tv_sec) = 0; +my ($tv_usec) = 0; + +sub tvdiff($$$$) { + my ($tv1_sec, $tv1_usec, $tv2_sec, $tv2_usec) = @_; + + if ($tv2_usec < $tv1_usec) { + $tv2_usec += 1000000; + $tv1_sec = $tv1_sec + 1; + } + + return ($tv2_sec - $tv1_sec) * 1000000 + ($tv2_usec - $tv1_usec); +} + +while (<>) { + chomp; + m/^\[(.*?)\.(.*?)\]/ || next; + printf "%d\t| %s\n", tvdiff($tv_sec, $tv_usec, $1, $2), $_; +# if (tvdiff($tv_sec, $tv_usec, $1, $2) > 500) { +# printf "%d\t| %s\n", tvdiff($tv_sec, $tv_usec, $1, $2), $_; +# } + $tv_sec = $1; + $tv_usec = $2; +} + |