Aprs. DAO
(aprs v2.0.0)
View Source
APRS 1.1 DAO extension (!DAO!).
The extension carries the datum used by the sender plus one extra digit of latitude/longitude minute precision:
- uppercase datum (
!W52!) - the two bytes are ASCII digits giving thousandths of a minute (4903.50N+5becomes 49 03.505') - lowercase datum (
!w52!) - the two bytes are base-91 giving(byte - 33) / 91of a hundredth of a minute
The datum byte is reported upper-cased, matching reference parsers.
Summary
Functions
Apply DAO additional precision to a decoded coordinate pair.
Find and remove a DAO extension in a comment.
Types
Functions
@spec apply_precision(float() | nil, float() | nil, t() | nil, non_neg_integer()) :: {float() | nil, float() | nil}
Apply DAO additional precision to a decoded coordinate pair.
The offset moves the coordinate away from the equator or the prime meridian, in the direction its own sign already points. An ambiguous position is left alone, since ambiguity exists to drop the precision DAO would add.
Find and remove a DAO extension in a comment.
Returns {dao, comment_without_dao}, or {nil, comment} when the comment
holds no DAO extension.