#!/usr/bin/perl
use Ham::APRS::IS;
use Ham::APRS::FAP qw(parseaprs);
my $is = new Ham::APRS::IS('rotate.aprs.net:10152', 'N0CALL', 'appid' => 'IS-pm-test 1.0');
$is->connect('retryuntil' => 3) || die "Failed to connect: $is->{error}";
for (my $i = 0; $i < 10; $i += 1) {
my $l = $is->getline_noncomment();
next if (!defined $l);
print "\n--- new packet ---\n";
print "$l\n";
my %packetdata;
my $retval = parseaprs($l, \%packetdata);
if ($retval == 1) {
while (my ($key, $value) = each(%packetdata)) {
print "$key: $value\n";
}
} else {
warn "Parsing failed: $packetdata{resultmsg} ($packetdata{resultcode})\n";
}
}
$is->disconnect() || die "Failed to disconnect: $is->{error}";