id: digital_additive_scrambler_bb
label: ADDITIVE SCRAMBLER
category: '[Digital]'
flags: '[python, cpp]'
templates:
  imports: from gnuradio import digital
  make: digital.additive_scrambler_bb(${mask}, ${seed}, ${len}, ${count}, ${bits_per_byte})
parameters:
- id: mask
  label: Mask
  dtype: int
  read_only: true
- id: seed
  label: Seed
  dtype: int
  read_only: true
- id: len
  label: Len
  dtype: int
  read_only: true
- id: count
  label: Count
  dtype: int
  read_only: true
- id: bits_per_byte
  label: Bits_per_byte
  dtype: int
  read_only: true
inputs:
- domain: stream
  dtype: sizeof(unsigned char)
outputs:
- domain: stream
  dtype: sizeof(unsigned char)
cpp_templates:
  includes: '#include <gnuradio/digital/additive_scrambler_bb.h>'
  declarations: digital::additive_scrambler_bb::sptr ${id}
  make: this->${id} = digital::additive_scrambler_bb::make(${mask}, ${seed}, ${len},
    ${count}, ${bits_per_byte})
  link: gnuradio-digital
documentation:
- "/*!\n     * \\ingroup coding_blk\n     *\n     * \\brief\n     * Scramble an input
  stream using an LFSR.\n     *\n     * \\details\n     * This block scrambles up
  to 8 bits per byte of the input\n     * data stream, starting at the LSB.\n     *\n
  \    * The scrambler works by XORing the incoming bit stream by the\n     * output
  of the LFSR. Optionally, after \\p count bits have been\n     * processed, the shift
  register is reset to the \\p seed value.\n     * This allows processing fixed length
  vectors of samples.\n     *\n     * Alternatively, the LFSR can be reset using a
  reset tag to\n     * scramble variable length vectors. However, it cannot be reset\n
  \    * between bytes.\n     *\n     * For details on configuring the LFSR, see gr::digital::lfsr.\n
  \    */"
- // gr::digital::additive_scrambler_bb::sptr
- "/*!\n       * \\brief Create additive scrambler.\n       *\n       * \\param mask
  \  Polynomial mask for LFSR\n       * \\param seed   Initial shift register contents\n
  \      * \\param len    Shift register length\n       * \\param count  Number of
  bytes after which shift register is reset, 0=never\n       * \\param bits_per_byte
  Number of bits per byte\n       * \\param reset_tag_key When a tag with this key
  is detected, the shift register is reset (when this is set, count is ignored!)\n
  \      */"
- /* namespace digital */
- /* namespace gr */
- /* INCLUDED_DIGITAL_ADDITIVE_SCRAMBLER_BB_H */
file_format: 1
