File Coverage

blib/lib/BT368i/NMEA/GP/VTG.pm
Criterion Covered Total %
statement 9 31 29.0
branch 0 2 0.0
condition n/a
subroutine 3 6 50.0
pod 2 3 66.6
total 14 42 33.3


line stmt bran cond sub pod time code
1             #
2             # Written by Travis Kent Beste
3             # Fri Aug 6 22:13:22 CDT 2010
4              
5             package BT368i::NMEA::GP::VTG;
6              
7 1     1   4 use strict;
  1         1  
  1         24  
8 1     1   4 use vars qw( );
  1         1  
  1         14  
9              
10 1     1   3 use Data::Dumper;
  1         2  
  1         361  
11              
12             our @ISA = qw( );
13              
14             our $VERSION = sprintf("%d.%02d", q$Revision: 1.00 $ =~ /(\d+)\.(\d+)/);
15              
16             #----------------------------------------#
17             #
18             #----------------------------------------#
19             sub new {
20 0     0 0   my $class = shift;
21 0           my %args = shift;
22              
23 0           my %fields = (
24             log_fh => '',
25             log_filename => '',
26              
27             true_track => '',
28             magnetic_track => '',
29             ground_speed_knots => '',
30             ground_speed_kilometers => '',
31             );
32              
33 0           my $self = {
34             %fields,
35             };
36 0           bless $self, $class;
37              
38 0           return $self;
39             }
40              
41             #----------------------------------------#
42             #
43             #----------------------------------------#
44             sub print {
45 0     0 1   my $self = shift;
46              
47 0           print "true track : " . $self->{true_track} . "\n";
48 0           print "magnetic track : " . $self->{magnetic_track} . "\n";
49 0           print "ground speed knots : " . $self->{ground_speed_knots} . "\n";
50 0           print "ground speed kilometers : " . $self->{ground_speed_kilometers} . "\n";
51             }
52              
53             #----------------------------------------#
54             #
55             #----------------------------------------#
56             sub parse {
57 0     0 1   my $self = shift;
58 0           my $data = shift;
59              
60             # if we're logging, save data to filehandle
61 0 0         if ($self->{log_fh}) {
62 0           print { $self->{log_fh} } $data . "\n";
  0            
63             }
64              
65 0           $data =~ s/\*..$//; # remove the last three bytes
66 0           my @args = split(/,/, $data);
67              
68             # 1) 054.7,T True track made good (degrees)
69 0           $self->{true_track} = $args[1];
70              
71             # 2) 034.4,M Magnetic track made good
72 0           $self->{magnetic_track} = $args[3];
73              
74             # 3) 005.5,N Ground speed, knots
75 0           $self->{ground_speed_knots} = $args[5];
76              
77             # 4) 010.2,K Ground speed, Kilometers per hour
78 0           $self->{ground_speed_kilometers} = $args[7];
79             }
80              
81             1;
82              
83             __END__