[aprssig] Question about 'H-bit' handling and WIDEn-N paths

Henk de Groot henk.de.groot at hetnet.nl
Fri Jan 28 14:29:11 EST 2005


Hallo Jim

At 08:18 28-1-2005 -0800, James Washer wrote:
>Ok.. you bring up another interesting question. You say that by keeping a 
>history of 30seconds worth of CRC's we can avoid sending dupes, but 
>setting the H-bit OR decrementing WIDEn-N/TRACEn-N will change the CRC. So 
>what are they doing? Calculating a special CRC on the payload or something?

In DIGI_NED I keep a 16 bit CRC of the payload (data part) and the full 
source call. If both match with a received packet then there is a 
duplicate. I took the source call into account because a 16 bit CRC can 
only have 65536 values, other stations can produce a packet with the same 
CRC which you don't want to block as "duplicate". Now I have 65536 
different CRC's per station call + SSID.

DIGI_NED takes it one step further, if a packet has not been digipeated 
before then it is never considered to be a duplicate, it came directly from 
the source so the packet is send twice deliberately. Since is was not 
digipeated before it is not possible that the digipeater had this exact 
instance of a packet before, so it can not be a duplicate...

The biggest problem is to determine if a packet has been digipeated in a 
generic way (taking digipeatin on SSID's into account). In DIGI_NED I did 
not hardcode WIDE and TRACE as "inteligent digipeating calls" but just look 
at the SSID and determine if the last character of the digipeater call part 
is the same or greater. So it also works for calls like CA2-2 and such...

Kind regards,

Henk.

P.S. DIGI_NED is open source, you're welcome to reuse code or code ideas 
from it. The source can be found at http://www.homepages.hetnet.nl/~pe1dnn.






More information about the aprssig mailing list