Skip to content

Fix decoding issue of AX.25 decoder

Manolis Surligas requested to merge surligas/gr-satnogs:fix-ax25 into master

The AX.25 decoder had two major issues. The first one is related with bit stuffing and originates from a rollback. Previously, the decoder requested at least two repetitions of the AX.25 flag. To do this, a 16-bit sift register was used. During a rollback an erroneous bit shift during a stuffed bit was left over.

The other issue was at the FSM. When the frame end AX.25 flag was received, the decoder did not exit properly if the CRC was false. The decoder continously tried to match the CRC of an invalid frame until the maximum frame size was reached. This was the source of many invalid frames. The weird byte patterns that may appeared was actually the random init values of the frame buffer.

With the invalid frames fixed, now the decoder tries to also correct up to 1 bit if the CRC heck failed.

Fixes #201 (closed)

Signed-off-by: Manolis Surligas surligas@gmail.com

Edited by Manolis Surligas

Merge request reports