summaryrefslogtreecommitdiff
path: root/gr-digital/lib/additive_scrambler_bb_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* gr-digital: improved performance and capability of scramblers to 64-bit ↵Elof Wecksell2021-01-291-18/+19
| | | | | | | registers. Use __builtin_parity or volk popcnt. qa was also enhanced to detect errors. Signed-off-by: Elof Wecksell <elof@wecksell.se> Co-authored-by: Martin Braun <martin@gnuradio.org>
* Replace all calls to `get_initial_sptr` with `make_block_sptr`Thomas Habets2020-07-301-2/+2
| | | | | | | | | | | | | | First batch of changes: ``` find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}' ``` Then: * Back out `sptr_magic.h` edits * Change some `friend` clauses * clang-format the whole thing * Update checksums in the pybind11 bindings files
* Update license header to SPDX formatdevnulling2020-01-271-13/+1
|
* additive_scrambler: Fix count based resetrear10192020-01-031-27/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Count based reset in the additive scrambler may be delayed by a single byte as reported in [1]. This happens whenever the work() function of the block is called: The first value of reset_index in work() is d_count - d_bytes where d_count is the number of bytes to output before a reset and d_bytes is the number of bytes produced after a previous reset (in the previous work() call). The very first reset is delayed by one byte due to zero-based counting in work()’s loop /and/ a check of the reset condition (i == reset_index) /after/ outputting a byte. (All following resets are performed at the correct interval after 4 bytes.) Example: With d_count = 4 and d_bytes = 0 the first reset is performed at i = 4, but only after a fifth byte has been output. Fix this error by checking the reset condition /before/ outputting a byte. This removes different handling of tag and count based reset, introduced by commit e3ad82e6d9 as a fix for delayed tag based reset [2]. The fix for tag based reset should have been applied to the count based reset as well (resulting in the same code as of this commit). The error in count based reset has not been detected due to wrong QA code (see previous commit). Fixes #2926. [1] https://github.com/gnuradio/gnuradio/issues/2926 [2] https://github.com/gnuradio/gnuradio/issues/1198
* Tree: clang-format without the include sortingMarcus Müller2019-08-091-116/+103
|
* Cosmetic change to additive_scrambler_bb_impl.ccDaniel Grambihler2018-11-021-1/+1
| | | There was a stray semicolon (line #103) on the closing brace of an if-block. Just an extra null statement after the if, so not a functional change.
* Fix additive scrambler tag triggered reset behaviorBrian Orr2017-05-011-12/+29
| | | | | | | | | | Update the additive scrambler to reset its internal LFSR on the correct byte when operating in tag triggered mode. The LFSR should be reset at/before the byte associated with the reset tag instead of after it. The existing reset behavior is still correct for byte count triggered reset. Fixes #1198
* digital: added missing parameter to additive scrambler GRC block; cleaned up ↵Sean Nowlan2015-05-061-3/+3
| | | | whitespace
* digital: scrambler gets tag supportMartin Braun2013-08-281-11/+50
|
* runtime: converting runtime core to gr namespace, gnuradio include dir.Tom Rondeau2013-04-291-4/+4
|
* digital: converting to new pimpl standard for 3.7.Tom Rondeau2012-08-091-0/+104
Structure is basically set up. Additive scrambler converted.