X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=rf433rcv%2Fpc%2Fdecode.pl;h=e90f345f51e977026117498d4c1fafa21044cbbc;hb=5b65d67a87c56a61669419bd597809815e696aef;hp=c5822e50f4ca827b9816ca4f77b8a71feb0b8eaa;hpb=df71a4e96592d60eaaf409591b590326db3ee9f4;p=svn42.git diff --git a/rf433rcv/pc/decode.pl b/rf433rcv/pc/decode.pl index c5822e5..e90f345 100755 --- a/rf433rcv/pc/decode.pl +++ b/rf433rcv/pc/decode.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl use strict; -my @data = split /,/,<>; +my @data = split //,<>; my @statistics; @@ -52,5 +52,21 @@ if (my $delemiter = $ARGV[0]) } } chop $seq; - print STDERR "$seq\n"; + # print "$seq\n"; + my $bitcount=0; + my @binarydata; + for my $bits (reverse split /,/,$seq) + { + $binarydata[int($bitcount/8)]<<=1; + $binarydata[int($bitcount/8)]|=$bits; + $bitcount++; + } + $binarydata[int($bitcount/8)]<<= 8 - ($bitcount % 8) if $bitcount % 8; + my @chars = map { chr($_) } @binarydata; + print STDERR join '',@chars; +# print STDERR "\ns\x04"; # send 4 times +# print STDERR chr(8-($bitcount % 8)) if $bitcount % 8; + print "$bitcount total, offset ".($bitcount % 8)." bits\n"; + print ($bitcount/8 ," bytes (must be <= 63)\n"); } +