diff options
author | Chris Kuethe <chris.kuethe@gmail.com> | 2008-02-13 06:03:11 +0000 |
---|---|---|
committer | Chris Kuethe <chris.kuethe@gmail.com> | 2008-02-13 06:03:11 +0000 |
commit | c246a89ff97bde7933e84f2ef5387f5b39ff7db9 (patch) | |
tree | bbfa52a58d8a845f4f7300b4b909376131de868d /contrib/maxsats.pl | |
parent | 17ba3c01cc815d0e16bd54f68f554b6b9c5b40e2 (diff) | |
download | gpsd-c246a89ff97bde7933e84f2ef5387f5b39ff7db9.tar.gz |
Add a little maximum satellite visibility analyzer
Diffstat (limited to 'contrib/maxsats.pl')
-rwxr-xr-x | contrib/maxsats.pl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/maxsats.pl b/contrib/maxsats.pl new file mode 100755 index 00000000..69639e83 --- /dev/null +++ b/contrib/maxsats.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl +# $Id$ + +# Copyright (c) 2008 Chris Kuethe <chris.kuethe@gmail.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +use strict; +use warnings; + +my ($tm, $nsr, $nt, $nu, @TL, @UL, $l); +while (<>){ + next unless (/,Y=\w+ (\d+\.\d+) (\d+):(.+:)/); + $tm = $1; + $nsr = $2; + $l = ":$3:"; + $nt = $nu = 0; + @TL = @UL = (); + while ($l =~ /(\d+) \w+ \w+ (\d+) ([01]):/g){ + if ($1 <= 32){ # $1 => prn + if ($2){ # $2 => snr + push(@TL, $1); + $nt++; + } + if ($3){ # $3 => used + push(@UL, $1); + $nu++; + } + } + } + print "$tm $nsr nu/nt = $nu/$nt T=\[@TL\] U=\[@UL\]\n" if (($nu >= 10)); +} |