summaryrefslogtreecommitdiff
path: root/gr-digital/lib/additive_scrambler_bb_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/lib/additive_scrambler_bb_impl.h')
-rw-r--r--gr-digital/lib/additive_scrambler_bb_impl.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/gr-digital/lib/additive_scrambler_bb_impl.h b/gr-digital/lib/additive_scrambler_bb_impl.h
index b621637e67..5f28203709 100644
--- a/gr-digital/lib/additive_scrambler_bb_impl.h
+++ b/gr-digital/lib/additive_scrambler_bb_impl.h
@@ -34,20 +34,27 @@ namespace gr {
{
private:
digital::lfsr d_lfsr;
- int d_count;
- int d_bits;
+ int d_count; //! Reset the LFSR after this many bytes (not bits)
+ int d_bytes; //! Count the processed bytes
int d_len;
int d_seed;
+ int d_bits_per_byte;
+ pmt::pmt_t d_reset_tag_key;
+
+ int _get_next_reset_index(int noutput_items, int last_reset_index=-1);
public:
additive_scrambler_bb_impl(int mask, int seed,
- int len, int count=0);
+ int len, int count=0,
+ int bits_per_byte=1, const std::string &reset_tag_key="");
~additive_scrambler_bb_impl();
int mask() const;
int seed() const;
int len() const;
int count() const;
+ int bits_per_byte() { return d_bits_per_byte; };
+
int work(int noutput_items,
gr_vector_const_void_star &input_items,