I have found a bug in the "Additive scrambler" block. Sometimes the
first bit after reset is incorrect. See the attached .grc file to replicate.
Description of the test setup and bug:
A length in bytes is fixed. By default it is 5 bytes, but this can be
changed using a QT GUI entry. The bug only happens for some lengths. A
message strobe generates PDUs containing unpacked bits (so length is 8 *
length in bytes). The content of the PDUs are zeros.
These are sent to the "Additive scrambler", which is set to generate the
CCSDS PN sequence and reset at the start of each PDU.
Finally, everything is packed into bytes and printed with Message Debug.
The expected output is the first bytes of the CCSDS sequence, which goes
ff 48 0e c0 9a
However, for a length of 5 (and other lengths), only the first PDU has
this contents, while the rest have
7f 48 0e c0 9a
so the first bit after reset is incorrect.
I have found a lot of different lengths which trigger this bug, and many
other which work fine. Please try different lengths if you're not able
to replicate the bug with a length of 5, as the lengths that fail might
be system dependent.