summaryrefslogtreecommitdiff
path: root/software/tests/beacon/decode.pl
diff options
context:
space:
mode:
Diffstat (limited to 'software/tests/beacon/decode.pl')
-rwxr-xr-xsoftware/tests/beacon/decode.pl48
1 files changed, 0 insertions, 48 deletions
diff --git a/software/tests/beacon/decode.pl b/software/tests/beacon/decode.pl
deleted file mode 100755
index 28bf82b..0000000
--- a/software/tests/beacon/decode.pl
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use MIME::Base32 qw( RFC );
-
-my @beacons;
-if(!$ARGV[0] || $ARGV[0] eq "-") {
- @beacons = <STDIN>;
-} else {
- open(my $fh, "<", $ARGV[0]) or die "Unable to open file " . $ARGV[0];
- @beacons = <$fh>;
- close($fh)
-}
-
-foreach(@beacons) {
- my $beacon = $_;
- $beacon =~ s/\s*$//g;
- $beacon =~ s/^\s*//g;
-
- if($beacon =~ /([^ ]+) ([A-Z2-7]{3}) ([A-Z2-7])/) {
- my $preamble = $1;
- my $cnt = $2;
- my $checksum = $3;
-
- my $cntval = unpack("n", MIME::Base32::decode($cnt . "=")) >> 1;
- my $csval_recv = unpack("C", MIME::Base32::decode($checksum . "=")) >> 3;
-
- my $csval_calc = ord('N') - ord(' ');
- my @values = unpack("C*", $preamble);
- @values = (@values, unpack("C*", $cnt));
- foreach(@values) { $csval_calc ^= $_ - ord(' '); }
- $csval_calc = ($csval_calc & 0x1F) ^ (($csval_calc & 0x20) >> 5);
-
- print $beacon . " -> cnt: " . $cntval;
- if($csval_calc != $csval_recv) {
- print " checksom wrong! (" . sprintf("%02X", $csval_recv) . " vs. " . sprintf("%02X", $csval_calc) . ")\n";
- } else {
- print " checksom ok! (" . sprintf("%02X", $csval_recv) . ")\n";
- }
-
-
- } else {
- print $beacon . " -> Beacon format error!\n";
- }
-
-
-}
-