Bug with 2-digit APRS SSID Suffixes
Hi,
this is a great piece of work! Unfortunately it does not accept APRS-SSIDs with more than one digit for the suffice (like
The fix is simple AFAIK:
Change line 114 in ax25.py to
assert(len(ssid) <= 2)
It seems not that simple :-( Now, the resulting packets cannot be properly decoded.
I seem to understand the problem: The SSID seems to be encoded as 4 Bits in the resulting AX.25 sequence of octets. So somewhere in the code, the string of a one-digit SSID is being translated in the respective bit pattern. But I did not find out where :-(
If you an ASCII character beyond the numbers, you can actually get the proper pattern. For instance,
Thanks in advance!
Ok, now I have a solution that should work reliably:
Insert the following at line 113 of ax25.py:
if 10 <= int(ssid) <= 15:
ssid = chr(ord(ssid[1])+10)
That will translate the SSIDs 10 - 15 to a character that will later be properly converted into the 4-bit representation of these SSIDs.
@casebeer It would be great if you could add this fix to the release.
73s
Martin