#!/usr/bin/perl -w ################################################################ # To calculate each axis averages from RS232C logging data # usage: # $ ./ave.pl data.log # ################################################################ use strict; my ($i, $x, $y, $z); my ($sumx, $sumy, $sumz); my $file; $file = $ARGV[0]; while (<>) { if (m/^([0-9A-F]{4})([0-9A-F]{4})([0-9A-F]{4})/) { # AD result:3700, 5300, 5940 ($x, $y, $z) = ($1, $2, $3); # printf "%6d %d %d %d\n", $i, hex($x) >> 6, hex($y) >> 6, hex($z) >> 6; $sumx += hex($x) >> 6; $sumy += hex($y) >> 6; $sumz += hex($z) >> 6; $i++; } } printf "%4.2f\t%4.2f\t%4.2f\n", $sumx/$i, $sumy/$i, $sumz/$i;