Revision history for Perl extension Ham::APRS::FAP.
0.01 Wed Feb 16 15:58:47 2005
- original version; created by h2xs 1.22
0.02 Sun Dec 9 22:10:04 EET 2007 - Hessu, OH7LZB
- Merged first bunch of aprs.fi enhancements:
- Return parser errors in the return hash, instead of printing
to STDERR, so that they're more usable. See the 'resultcode'
and 'resultmsg' hash entries - resultcode is a machine-readable
error code, and 'resultmsg' is the human-readable equivalent.
- The result_messages() function returns a hash of all possible
resultcodes and their plain english descriptions.
- Permit source callsigns to be in lower case
- Catch experimental packets (report error)
- Catch but ignore telemetry packets (report error)
- Accept broken uncompressed location packets with minute > 59.99
in initial regexp parsing, and report a proper error code for them
0.03 Sun Dec 9 23:47:19 EET 2007 - Hessu, OH7LZB
- Merged weather parsing code from aprs.fi branch, now parses
a good majority of weather packets on the APRS-IS. The data goes
in a new wx hash (see keys %{ $rethash->{'wx'} }).
0.04 Sun Dec 9 23:52:14 EET 2007 - Hessu, OH7LZB
- Merged the rest of changes in the aprs.fi branch:
- The third argument of parseaprs(), $isax25, is now gone and
replaced with an options hash, which knows two options
'isax25' and 'accept_broken_mice'. They're used like this:
my $ret = parseaprs(
$l, $p, 'accept_broken_mice' => 1, 'isax25' => 0
);
The hash is optional, so parseaprs($l, $p); will work for
APRS-IS lines.
- The new 'accept_broken_mice' option enables parsing of mic-e
packets from which some nonprintable characters have been
removed. At least aprsd has a bug which replaces them with
spaces, and possibly some other software then replaces
multiple spaces with a single space. Some data is lost, but
the position is still parseable.
- Catches more PHG data and the newer PHGR format. It's not really
parsed, just passed back in 'phg' field of the hash.
0.05 Wed Dec 12 17:04:31 EET 2007 - Hessu, OH7LZB
- Added a lot of unit test cases over the last couple days - over
200 unique test items in 13 files. It isn't complete, though.
- Renamed from APRS::Parser to Ham::APRS::FAP (Fabulous
APRS Parser) to better align with the CPAN hierarchy, and to
avoid clashing with the existing Ham::APRS::Parser)
0.06 Wed Dec 19 17:46:12 EET 2007 - Tapio, OH2KKU
- Relaxed non-AX.25 callsign checking, i.e. now accept any
alphanumeric "callsign" (including a variable amount of
'-' chars) with a maximum total length of 9 characters.
- Some cosmectic changes to unit conversions and comment
clarifications.
0.07 Wed Dec 19 23:26:52 EET 2007 - Hessu, OH7LZB
- Fixed tests. Tapio's changes removed the -0 from source callsigns
with an SSID of 0, so I removed it from the destination callsigns
too, and changed tests accordingly.
1.00 Wed Dec 19 23:39:55 EET 2007 - Hessu, OH7LZB
- Some small POD documentation changes
- Bumped version number for initial public release
1.01 Thu Dec 20 00:05:59 EET 2007 - Hessu, OH7LZB
- Added Date::Calc in the Makefile.PM required modules list, so that
CPAN installations will work properly
1.02 Fri Jan 4 01:29:47 EET 2008 - Hessu, OH7LZB
- Fixed bug: Rain over past 24 hours and since midnight were mixed
up by the "normal" APRS weather packet parser (thanks DK7IN)
- Tuned POD documentation a little bit
1.10 Wed Mar 12 16:23:20 EET 2008 - Hessu, OH7LZB
- Committed APRS telemetry parsing code (has been tested on aprs.fi
for quite some time now)
- Disabled timestamp checking in t/41decode-object.t - the parsed
timestamp varies depending on when the parsing code is run, since
the timestamp in the APRS packet is not fully specified.
1.11 Wed Mar 12 17:14:14 EET 2008 - Hessu, OH7LZB
- Removed accidentally forgotten dependency on Data::Dumper
- Documented dependency on the (standard) Math::Trig module
in Makefile.PL
- Added t/53decode-tlm.t to the distribution, oops
1.12 Mon May 19 18:13:54 EEST 2008 - Tapio, OH2KKU, and Hessu, OH7LZB
- !DAO! extension support (Datum and additional position resolution
for uncompressed and mic-e packets) implemented by Tapio.
- Added position resolution reporting in meters (posresolution) to
all packets containing a location and corresponding tests. Also
added a quick test for position ambiguity parsing.
- Additional unit tests and CPAN distribution cleanups.
- Added an example script in the examples/ subdirectory.
1.13 Tue Nov 17 12:24:07 EET 2009 - Tapio, OH2KKU, and Hessu, OH7LZB
- Allow anyone to update telemetry parameters, skip the source
callsign check
- Allow a PHG of 0000 for deleting PHG
- Added new error code sym_inv_table for invalid symbol table char
- Added local time zone parsing to object timestamps
- Fixed comments parsing for last resort !-location packets
- Parse APRS message rejects
1.14 Tue May 4 20:31:33 EEST 2010 - Hessu, OH7LZB
- Fixed humidity parsing, h0 means 100%
- Fixed peet bros $ULTW packet parsing, integers are signed (not
unsigned), negative fahrenheit temperatures are now correctly
parsed (and converted to Celsius)
- Parse comment from end of weather reports - if it's short enough,
treat it as the wx station/software type string
- Parse weather data sent after a compressed position
- Parse snowfall from normal wx packet
- Added test for positionless wx packets
- Added position packet format in hash ('format' => 'compressed')
1.15 Tue May 4 20:44:31 EEST 2010 - Hessu, OH7LZB
- Added a couple of missing tests and 'format' => 'nmea'
1.16 Wed May 19 22:34:43 EEST 2010 - Hessu, OH7LZB
- Added a couple of test cases
- Added an example script to parse a whole file of timestamped
APRS-IS packets
- Fixed peet WX packet parsing for Perl 5.8 and older, which don't
support n! packing
- Minor speedups by reducing amount of regular expressions, extra
variables, reordering things to catch the most common case
first, and tightening a loop
- Put '' around hash key strings (style issue)
1.17 Fri Sep 10 08:10:29 EEST 2010 - Hessu, OH7LZB
- Remove / or ' ' from beginning of comment after parsing away PHG,
altitude and other optional data
- Allow hexadecimal IPv6 addresses in APRS-IS paths after q..
construct
- Added tests for uncompressed packet altitude (negative, too)
- Fixed destination callsign based symbol selection for 'BC'
- Updated URLs to aprs.org, etc
1.18 Fri Aug 5 08:39:49 EEST 2011 - Hessu, OH7LZB and Tapio, OH2KKU
- Added Ham::APRS::IS module - an APRS-IS client library
- Fixed position resolution calculation for whole degree cases,
and added tests
- Implemented a 'raw_timestamp' option to return undecoded timestamps
in all but status packets
- Added tests for timestamp and status message parsing
- Added support for new base91 comment telemetry
1.19 Sun Dec 30 13:13:19 EET 2012 - Hessu, OH7LZB
- Fixed Binary Value bit order in base91 comment telemetry
1.20 Sun Feb 16 16:13:58 EET 2014 - Hessu, OH7LZB
- Mic-E: Catch invalid symbol table errors even in broken mic-e
packets
- Mic-E: Indicate demangled packets with a 'mice_mangled' flag
- Mic-E: If a mic-e packet was demangled, do not decode speed or
course which were lost in transit
- Mic-E: Obtain correct symbol table identifier after demangling
- Mic-E: Added tests for demangled case
- Added sock() method to IS.pm for obtaining socket
- Comment telemetry: Decode before DAO to avoid stripping "DAO"
from middle of telemetry
1.21 Fri Mar 24 07:55:01 EET 2017 - Hessu, OH7LZB
- Improve make_position() to support HMS UTC timestamp.
make_position() now returns the packet type character so that it
can signal the presence of a timestamp.
- Improve make_position() to support comment string, !DAO!
extension, altitude encoding. Fix rounding errors
in lat/lon/speed. Support generating packets with no speed
or course. Take optional parameters in a hash parameter. Implement
unit tests for make_position().
- Set up Travis for automatic unit test runs.
- Additional character escaping in regular expressions to deal
with deprecated functionality in Perl 5.22.