[aprssig] APRS spec 101

Matti Aarnio oh2mqk at sral.fi
Wed Jul 16 20:38:18 EDT 2008

On Wed, Jul 16, 2008 at 03:19:40PM -0700, Scott Miller wrote:
> >> it is a simple sum type checksum?
> > 
> > Nope.  CRC16.
> > had only an IEEE article and the AX.25 spec to go on.  It took some
> > bit twiddling and hair pulling to get it to work.  Scott probably
> > had similar experiences.
> Yeah, I wrote about some of it here:
> http://n1vg.net/packet/

Scott used very clever variation of the algorithm, and forgot to mention
that...  As I see, he had following constraints:

  - Standard specified CRC is sent out _high_bit_first_, while
    HDLC bytes are sent out _low_bit_first_.

  - His code sends bytes apparently one bit at the time (RAM
    constraints), doing HDLC bit stuffing along the way

  - Scott wanted to send also the CRC bits out low-bit first.

There is a way to construct the CRC in this reversed way, and it
is what he describes in the above mentioned page -- but forgets
to mention that it is using this reflected form.

That is why his polynome constant is very strange looking one indeed.

> Scott
> N1VG

73 de OH2MQK

More information about the aprssig mailing list