summaryrefslogtreecommitdiff
path: root/gr-digital
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital')
-rw-r--r--gr-digital/grc/digital.tree.yml4
-rw-r--r--gr-digital/grc/digital_simple_correlator.block.yml28
-rw-r--r--gr-digital/grc/digital_simple_framer.block.yml28
-rw-r--r--gr-digital/include/gnuradio/digital/CMakeLists.txt3
-rw-r--r--gr-digital/include/gnuradio/digital/simple_correlator.h37
-rw-r--r--gr-digital/include/gnuradio/digital/simple_framer.h47
-rw-r--r--gr-digital/include/gnuradio/digital/simple_framer_sync.h45
-rw-r--r--gr-digital/lib/CMakeLists.txt2
-rw-r--r--gr-digital/lib/simple_correlator_impl.cc204
-rw-r--r--gr-digital/lib/simple_correlator_impl.h84
-rw-r--r--gr-digital/lib/simple_framer_impl.cc92
-rw-r--r--gr-digital/lib/simple_framer_impl.h41
-rw-r--r--gr-digital/python/digital/bindings/CMakeLists.txt3
-rw-r--r--gr-digital/python/digital/bindings/docstrings/simple_correlator_pydoc_template.h24
-rw-r--r--gr-digital/python/digital/bindings/docstrings/simple_framer_pydoc_template.h24
-rw-r--r--gr-digital/python/digital/bindings/python_bindings.cc6
-rw-r--r--gr-digital/python/digital/bindings/simple_correlator_python.cc48
-rw-r--r--gr-digital/python/digital/bindings/simple_framer_python.cc45
-rw-r--r--gr-digital/python/digital/bindings/simple_framer_sync_python.cc33
-rw-r--r--gr-digital/python/digital/qa_simple_correlator.py53
-rw-r--r--gr-digital/python/digital/qa_simple_framer.py98
21 files changed, 0 insertions, 949 deletions
diff --git a/gr-digital/grc/digital.tree.yml b/gr-digital/grc/digital.tree.yml
index 24aec7e9c3..e100142866 100644
--- a/gr-digital/grc/digital.tree.yml
+++ b/gr-digital/grc/digital.tree.yml
@@ -41,8 +41,6 @@
- digital_packet_sink
- digital_hdlc_framer_pb
- digital_hdlc_deframer_bp
- - digital_simple_framer
- - digital_simple_correlator
- OFDM:
- digital_ofdm_carrier_allocator_cvc
- digital_ofdm_chanest_vcvc
@@ -72,5 +70,3 @@
- digital_glfsr_source_x
- Deprecated:
- digital_correlate_access_code_bb
- - digital_simple_framer
- - digital_simple_correlator
diff --git a/gr-digital/grc/digital_simple_correlator.block.yml b/gr-digital/grc/digital_simple_correlator.block.yml
deleted file mode 100644
index c79d7974d4..0000000000
--- a/gr-digital/grc/digital_simple_correlator.block.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-id: digital_simple_correlator
-label: Simple Correlator
-flags: [ python, cpp ]
-
-parameters:
-- id: payload_bytesize
- label: Payload Byte Size
- dtype: int
-
-inputs:
-- domain: stream
- dtype: float
-
-outputs:
-- domain: stream
- dtype: byte
-
-templates:
- imports: from gnuradio import digital
- make: digital.simple_correlator(${payload_bytesize})
-
-cpp_templates:
- includes: ['#include <gnuradio/digital/simple_correlator.h>']
- declarations: 'digital::simple_correlator::sptr ${id};'
- make: 'this->${id} = digital::simple_correlator::make(${payload_bytesize});'
- link: ['gnuradio-digital']
-
-file_format: 1
diff --git a/gr-digital/grc/digital_simple_framer.block.yml b/gr-digital/grc/digital_simple_framer.block.yml
deleted file mode 100644
index 5755e0b02a..0000000000
--- a/gr-digital/grc/digital_simple_framer.block.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-id: digital_simple_framer
-label: Simple Framer
-flags: [ python, cpp ]
-
-parameters:
-- id: payload_bytesize
- label: Payload Byte Size
- dtype: int
-
-inputs:
-- domain: stream
- dtype: byte
-
-outputs:
-- domain: stream
- dtype: byte
-
-templates:
- imports: from gnuradio import digital
- make: digital.simple_framer(${payload_bytesize})
-
-cpp_templates:
- includes: [ '#include <gnuradio/digital/simple_framer.h>' ]
- declarations: 'digital::simple_framer::sptr ${id};'
- make: 'this->${id} = digital::simple_framer::make(${payload_bytesize});'
- link: ['gnuradio-digital']
-
-file_format: 1
diff --git a/gr-digital/include/gnuradio/digital/CMakeLists.txt b/gr-digital/include/gnuradio/digital/CMakeLists.txt
index 08abdb8ed9..e60e5a0175 100644
--- a/gr-digital/include/gnuradio/digital/CMakeLists.txt
+++ b/gr-digital/include/gnuradio/digital/CMakeLists.txt
@@ -86,9 +86,6 @@ install(FILES
probe_density_b.h
probe_mpsk_snr_est_c.h
scrambler_bb.h
- simple_correlator.h
- simple_framer.h
- simple_framer_sync.h
interpolating_resampler_type.h
symbol_sync_cc.h
symbol_sync_ff.h
diff --git a/gr-digital/include/gnuradio/digital/simple_correlator.h b/gr-digital/include/gnuradio/digital/simple_correlator.h
deleted file mode 100644
index e59c0aa05b..0000000000
--- a/gr-digital/include/gnuradio/digital/simple_correlator.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2013 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_GR_SIMPLE_CORRELATOR_H
-#define INCLUDED_GR_SIMPLE_CORRELATOR_H
-
-#include <gnuradio/block.h>
-#include <gnuradio/digital/api.h>
-
-namespace gr {
-namespace digital {
-
-/*!
- * \brief inverse of simple_framer (more or less)
- * \ingroup packet_operators_blk
- * \ingroup deprecated_blk
- */
-class DIGITAL_API simple_correlator : virtual public block
-{
-public:
- // gr::digital::simple_correlator::sptr
- typedef std::shared_ptr<simple_correlator> sptr;
-
- static sptr make(int payload_bytesize);
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_SIMPLE_CORRELATOR_H */
diff --git a/gr-digital/include/gnuradio/digital/simple_framer.h b/gr-digital/include/gnuradio/digital/simple_framer.h
deleted file mode 100644
index 778ef7f14f..0000000000
--- a/gr-digital/include/gnuradio/digital/simple_framer.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_GR_SIMPLE_FRAMER_H
-#define INCLUDED_GR_SIMPLE_FRAMER_H
-
-#include <gnuradio/block.h>
-#include <gnuradio/digital/api.h>
-
-namespace gr {
-namespace digital {
-
-/*!
- * \brief add sync field, seq number and command field to payload
- * \ingroup packet_operators_blk
- * \ingroup deprecated_blk
- *
- * \details
- * Takes in enough samples to create a full output frame. The
- * frame is prepended with the GRSF_SYNC (defined in
- * simple_framer_sync.h) and an 8-bit sequence number.
- */
-class DIGITAL_API simple_framer : virtual public block
-{
-public:
- // gr::digital::simple_framer::sptr
- typedef std::shared_ptr<simple_framer> sptr;
-
- /*!
- * Make a simple_framer block.
- *
- * \param payload_bytesize The size of the payload in bytes.
- */
- static sptr make(int payload_bytesize);
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_SIMPLE_FRAMER_H */
diff --git a/gr-digital/include/gnuradio/digital/simple_framer_sync.h b/gr-digital/include/gnuradio/digital/simple_framer_sync.h
deleted file mode 100644
index ebdf3ba617..0000000000
--- a/gr-digital/include/gnuradio/digital/simple_framer_sync.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2005,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_GR_SIMPLE_FRAMER_SYNC_H
-#define INCLUDED_GR_SIMPLE_FRAMER_SYNC_H
-
-namespace gr {
-namespace digital {
-
-/*!
- * Here are a couple of maximum length sequences (m-sequences)
- * that were generated by the the "mseq" matlab/octave code
- * downloaded from: <a
- * href="http://www.mathworks.com/matlabcentral/fileexchange/990">http://www.mathworks.com/matlabcentral/fileexchange/990</a>
- *
- * <pre>
- * 31-bit m-sequence:
- * 0110100100001010111011000111110
- * 0x690AEC76 (padded on right with a zero)
- *
- * 63-bit m-sequence:
- * 101011001101110110100100111000101111001010001100001000001111110
- * 0xACDDA4E2F28C20FC (padded on right with a zero)
- * </pre>
- */
-static constexpr unsigned long long GRSF_SYNC = 0xacdda4e2f28c20fcULL;
-
-static constexpr int GRSF_BITS_PER_BYTE = 8;
-static constexpr int GRSF_SYNC_OVERHEAD = sizeof(GRSF_SYNC);
-static constexpr int GRSF_PAYLOAD_OVERHEAD = 1; // 1 byte seqno
-static constexpr int GRSF_TAIL_PAD = 1; // one byte trailing padding
-static constexpr int GRSF_OVERHEAD =
- GRSF_SYNC_OVERHEAD + GRSF_PAYLOAD_OVERHEAD + GRSF_TAIL_PAD;
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_SIMPLE_FRAMER_SYNC_H */
diff --git a/gr-digital/lib/CMakeLists.txt b/gr-digital/lib/CMakeLists.txt
index 6b449ad6e7..b3d81ce506 100644
--- a/gr-digital/lib/CMakeLists.txt
+++ b/gr-digital/lib/CMakeLists.txt
@@ -82,8 +82,6 @@ add_library(gnuradio-digital
probe_density_b_impl.cc
probe_mpsk_snr_est_c_impl.cc
scrambler_bb_impl.cc
- simple_correlator_impl.cc
- simple_framer_impl.cc
interpolating_resampler.cc
symbol_sync_cc_impl.cc
symbol_sync_ff_impl.cc
diff --git a/gr-digital/lib/simple_correlator_impl.cc b/gr-digital/lib/simple_correlator_impl.cc
deleted file mode 100644
index d062f24726..0000000000
--- a/gr-digital/lib/simple_correlator_impl.cc
+++ /dev/null
@@ -1,204 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2010,2013 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "simple_correlator_impl.h"
-#include <gnuradio/blocks/count_bits.h>
-#include <gnuradio/digital/simple_framer_sync.h>
-#include <gnuradio/io_signature.h>
-#include <cstring>
-#include <stdexcept>
-
-namespace gr {
-namespace digital {
-
-static const int THRESHOLD = 3;
-
-simple_correlator::sptr simple_correlator::make(int payload_bytesize)
-{
- return gnuradio::make_block_sptr<simple_correlator_impl>(payload_bytesize);
-}
-
-simple_correlator_impl::simple_correlator_impl(int payload_bytesize)
- : block("simple_correlator",
- io_signature::make(1, 1, sizeof(float)),
- io_signature::make(1, 1, sizeof(unsigned char))),
- d_payload_bytesize(payload_bytesize),
- d_bblen((payload_bytesize + GRSF_PAYLOAD_OVERHEAD) * GRSF_BITS_PER_BYTE),
- d_bitbuf(d_bblen),
- d_pktbuf(d_bblen / GRSF_BITS_PER_BYTE)
-{
- for (int i = 0; i < AVG_PERIOD; i++) {
- d_avgbuf[i] = 0.0;
- }
-
- enter_looking();
-}
-
-simple_correlator_impl::~simple_correlator_impl() {}
-
-void simple_correlator_impl::enter_looking()
-{
- fflush(stdout);
- // fprintf(stderr, ">>> enter_looking\n");
- d_state = ST_LOOKING;
- for (int i = 0; i < OVERSAMPLE; i++)
- d_shift_reg[i] = 0;
- d_osi = 0;
-
- d_avbi = 0;
- d_avg = d_avg * 0.5;
- d_accum = 0;
- for (int i = 0; i < AVG_PERIOD; i++)
- d_avgbuf[i] = 0.0;
-}
-
-void simple_correlator_impl::enter_under_threshold()
-{
- fflush(stdout);
- // fprintf(stderr, ">>> enter_under_threshold\n");
- d_state = ST_UNDER_THRESHOLD;
- d_transition_osi = d_osi;
-}
-
-void simple_correlator_impl::enter_locked()
-{
- d_state = ST_LOCKED;
- int delta = sub_index(d_osi, d_transition_osi);
- d_center_osi = add_index(d_transition_osi, delta / 2);
- // d_center_osi = add_index(d_center_osi, 3); // FIXME
- d_bbi = 0;
- fflush(stdout);
- // fprintf(stderr, ">>> enter_locked d_center_osi = %d\n", d_center_osi);
-
- d_avg = std::max(-1.0, std::min(1.0, d_accum * (1.0 / AVG_PERIOD)));
- // fprintf(stderr, ">>> enter_locked d_avg = %g\n", d_avg);
-}
-
-static void packit(unsigned char* pktbuf, const unsigned char* bitbuf, int bitcount)
-{
- for (int i = 0; i < bitcount; i += 8) {
- int t = bitbuf[i + 0] & 0x1;
- t = (t << 1) | (bitbuf[i + 1] & 0x1);
- t = (t << 1) | (bitbuf[i + 2] & 0x1);
- t = (t << 1) | (bitbuf[i + 3] & 0x1);
- t = (t << 1) | (bitbuf[i + 4] & 0x1);
- t = (t << 1) | (bitbuf[i + 5] & 0x1);
- t = (t << 1) | (bitbuf[i + 6] & 0x1);
- t = (t << 1) | (bitbuf[i + 7] & 0x1);
- *pktbuf++ = t;
- }
-}
-
-void simple_correlator_impl::update_avg(float x)
-{
- d_accum -= d_avgbuf[d_avbi];
- d_avgbuf[d_avbi] = x;
- d_accum += x;
- d_avbi = (d_avbi + 1) & (AVG_PERIOD - 1);
-}
-
-int simple_correlator_impl::general_work(int noutput_items,
- gr_vector_int& ninput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items)
-{
- const float* in = (const float*)input_items[0];
- unsigned char* out = (unsigned char*)output_items[0];
-
- int n = 0;
- int nin = ninput_items[0];
- int decision;
- int hamming_dist;
-
-#ifdef DEBUG_SIMPLE_CORRELATOR
- struct debug_data {
- float raw_data;
- bool sampled;
- bool enter_locked;
- } debug_data;
-#endif
-
- while (n < nin) {
-
-#ifdef DEBUG_SIMPLE_CORRELATOR
- debug_data.raw_data = in[n];
- debug_data.sampled = false;
- debug_data.enter_locked = false;
-#endif
-
- switch (d_state) {
- case ST_LOCKED:
- if (d_osi == d_center_osi) {
-
-#ifdef DEBUG_SIMPLE_CORRELATOR
- debug_data.sampled = true;
-#endif
- decision = slice(in[n]);
-
- d_bitbuf[d_bbi] = decision;
- d_bbi++;
- if (d_bbi >= d_bblen) {
- // printf("got whole packet\n");
- packit(d_pktbuf.data(), d_bitbuf.data(), d_bbi);
- // printf("seqno %3d\n", d_pktbuf[0]);
- memcpy(out, &d_pktbuf[GRSF_PAYLOAD_OVERHEAD], d_payload_bytesize);
- enter_looking();
- consume_each(n + 1);
- return d_payload_bytesize;
- }
- }
- break;
-
- case ST_LOOKING:
- case ST_UNDER_THRESHOLD:
- update_avg(in[n]);
- decision = slice(in[n]);
- d_shift_reg[d_osi] = (d_shift_reg[d_osi] << 1) | decision;
-
- hamming_dist = gr::blocks::count_bits64(d_shift_reg[d_osi] ^ GRSF_SYNC);
- // printf("%2d %d\n", hamming_dist, d_osi);
-
- if (d_state == ST_LOOKING && hamming_dist <= THRESHOLD) {
- // We're seeing a good PN code, remember location
- enter_under_threshold();
- } else if (d_state == ST_UNDER_THRESHOLD && hamming_dist > THRESHOLD) {
- // no longer seeing good PN code, compute center of goodness
- enter_locked();
-#ifdef DEBUG_SIMPLE_CORRELATOR
- debug_data.enter_locked = true;
-#endif
- }
- break;
- default:
- GR_LOG_ERROR(d_logger, "Unknown simple correlator state encountered");
- throw std::runtime_error("unknown simple correlator state");
- }
-
-#ifdef DEBUG_SIMPLE_CORRELATOR
- GR_LOG_TRACE(d_debug_logger,
- (boost::format("%e %c%c") % debug_data.raw_data %
- (debug_data.sampled ? 'S' : ' ') %
- (debug_data.enter_locked ? 'L' : ' ')));
-#endif
-
- d_osi = add_index(d_osi, 1);
- n++;
- }
-
- consume_each(n);
- return 0;
-}
-
-} /* namespace digital */
-} /* namespace gr */
diff --git a/gr-digital/lib/simple_correlator_impl.h b/gr-digital/lib/simple_correlator_impl.h
deleted file mode 100644
index 3a5514dcc9..0000000000
--- a/gr-digital/lib/simple_correlator_impl.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2013 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_GR_SIMPLE_CORRELATOR_IMPL_H
-#define INCLUDED_GR_SIMPLE_CORRELATOR_IMPL_H
-
-#include <gnuradio/digital/simple_correlator.h>
-
-// To enable tracing to the debug logger, un-comment the following line
-//#define DEBUG_SIMPLE_CORRELATOR
-
-namespace gr {
-namespace digital {
-
-class simple_correlator_impl : public simple_correlator
-{
-private:
- static constexpr int OVERSAMPLE = 8;
- enum state_t { ST_LOOKING, ST_UNDER_THRESHOLD, ST_LOCKED };
-
- int d_payload_bytesize;
- state_t d_state = ST_LOOKING;
- unsigned int d_osi = 0; // over sample index [0,OVERSAMPLE-1]
- unsigned int d_transition_osi = 0; // first index where Hamming dist < thresh
- unsigned int d_center_osi = 0; // center of bit
- unsigned long long int d_shift_reg[OVERSAMPLE];
- int d_bblen; // length of bitbuf
- std::vector<unsigned char> d_bitbuf; // demodulated bits
- std::vector<unsigned char> d_pktbuf; // temp packet buf
- int d_bbi = 0; // bitbuf index
-
- static const int AVG_PERIOD = 512; // must be power of 2 (for freq offset correction)
- int d_avbi = 0;
- float d_avgbuf[AVG_PERIOD];
- float d_avg = 0.0;
- float d_accum = 0.0;
-
- inline int slice(float x) { return x >= d_avg ? 1 : 0; }
-
- void update_avg(float x);
-
- void enter_locked();
- void enter_under_threshold();
- void enter_looking();
-
- static int add_index(int a, int b)
- {
- int t = a + b;
- if (t >= OVERSAMPLE)
- t -= OVERSAMPLE;
- assert(t >= 0 && t < OVERSAMPLE);
- return t;
- }
-
- static int sub_index(int a, int b)
- {
- int t = a - b;
- if (t < 0)
- t += OVERSAMPLE;
- assert(t >= 0 && t < OVERSAMPLE);
- return t;
- }
-
-public:
- simple_correlator_impl(int payload_bytesize);
- ~simple_correlator_impl() override;
-
- int general_work(int noutput_items,
- gr_vector_int& ninput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items) override;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_SIMPLE_CORRELATOR_IMPL_H */
diff --git a/gr-digital/lib/simple_framer_impl.cc b/gr-digital/lib/simple_framer_impl.cc
deleted file mode 100644
index 13eb29c78c..0000000000
--- a/gr-digital/lib/simple_framer_impl.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2010,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "simple_framer_impl.h"
-#include <gnuradio/digital/simple_framer_sync.h>
-#include <gnuradio/io_signature.h>
-#include <cassert>
-#include <string>
-
-namespace gr {
-namespace digital {
-
-simple_framer::sptr simple_framer::make(int payload_bytesize)
-{
- return gnuradio::make_block_sptr<simple_framer_impl>(payload_bytesize);
-}
-
-simple_framer_impl::simple_framer_impl(int payload_bytesize)
- : block("simple_framer",
- io_signature::make(1, 1, sizeof(unsigned char)),
- io_signature::make(1, 1, sizeof(unsigned char))),
- d_seqno(0),
- d_input_block_size(payload_bytesize),
- d_output_block_size(payload_bytesize + GRSF_OVERHEAD)
-{
- set_output_multiple(d_output_block_size);
-}
-
-simple_framer_impl::~simple_framer_impl() {}
-
-void simple_framer_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required)
-{
- assert(noutput_items % d_output_block_size == 0);
-
- int nblocks = noutput_items / d_output_block_size;
- int input_required = nblocks * d_input_block_size;
-
- unsigned ninputs = ninput_items_required.size();
- for (unsigned int i = 0; i < ninputs; i++)
- ninput_items_required[i] = input_required;
-}
-
-int simple_framer_impl::general_work(int noutput_items,
- gr_vector_int& ninput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items)
-{
- const unsigned char* in = (const unsigned char*)input_items[0];
- unsigned char* out = (unsigned char*)output_items[0];
-
- int n = 0;
- int nblocks = 0;
-
- memset(out, 0x55, noutput_items);
-
- while (n < noutput_items) {
- out[0] = (GRSF_SYNC >> 56) & 0xff;
- out[1] = (GRSF_SYNC >> 48) & 0xff;
- out[2] = (GRSF_SYNC >> 40) & 0xff;
- out[3] = (GRSF_SYNC >> 32) & 0xff;
- out[4] = (GRSF_SYNC >> 24) & 0xff;
- out[5] = (GRSF_SYNC >> 16) & 0xff;
- out[6] = (GRSF_SYNC >> 8) & 0xff;
- out[7] = (GRSF_SYNC >> 0) & 0xff;
- out[8] = d_seqno++;
-
- memcpy(&out[9], in, d_input_block_size);
- in += d_input_block_size;
- out += d_output_block_size;
- n += d_output_block_size;
- nblocks++;
- }
-
- assert(n == noutput_items);
-
- consume_each(nblocks * d_input_block_size);
- return n;
-}
-
-} /* namespace digital */
-} /* namespace gr */
diff --git a/gr-digital/lib/simple_framer_impl.h b/gr-digital/lib/simple_framer_impl.h
deleted file mode 100644
index 5c4b9da676..0000000000
--- a/gr-digital/lib/simple_framer_impl.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2012 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#ifndef INCLUDED_GR_SIMPLE_FRAMER_IMPL_H
-#define INCLUDED_GR_SIMPLE_FRAMER_IMPL_H
-
-#include <gnuradio/digital/simple_framer.h>
-
-namespace gr {
-namespace digital {
-
-class simple_framer_impl : public simple_framer
-{
-private:
- int d_seqno;
- int d_input_block_size; // bytes
- int d_output_block_size; // bytes
-
-public:
- simple_framer_impl(int payload_bytesize);
- ~simple_framer_impl() override;
-
- void forecast(int noutput_items, gr_vector_int& ninput_items_required) override;
-
- int general_work(int noutput_items,
- gr_vector_int& ninput_items,
- gr_vector_const_void_star& input_items,
- gr_vector_void_star& output_items) override;
-};
-
-} /* namespace digital */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_SIMPLE_FRAMER_IMPL_H */
diff --git a/gr-digital/python/digital/bindings/CMakeLists.txt b/gr-digital/python/digital/bindings/CMakeLists.txt
index cf38af030d..a18fc0f0bc 100644
--- a/gr-digital/python/digital/bindings/CMakeLists.txt
+++ b/gr-digital/python/digital/bindings/CMakeLists.txt
@@ -83,9 +83,6 @@ list(APPEND digital_python_files
protocol_formatter_bb_python.cc
protocol_parser_b_python.cc
scrambler_bb_python.cc
- simple_correlator_python.cc
- simple_framer_python.cc
- simple_framer_sync_python.cc
symbol_sync_cc_python.cc
symbol_sync_ff_python.cc
timing_error_detector_type_python.cc
diff --git a/gr-digital/python/digital/bindings/docstrings/simple_correlator_pydoc_template.h b/gr-digital/python/digital/bindings/docstrings/simple_correlator_pydoc_template.h
deleted file mode 100644
index 31ce13f096..0000000000
--- a/gr-digital/python/digital/bindings/docstrings/simple_correlator_pydoc_template.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-#include "pydoc_macros.h"
-#define D(...) DOC(gr, digital, __VA_ARGS__)
-/*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
- and will be overwritten during the build process
- */
-
-
-static const char* __doc_gr_digital_simple_correlator = R"doc()doc";
-
-
-static const char* __doc_gr_digital_simple_correlator_simple_correlator = R"doc()doc";
-
-
-static const char* __doc_gr_digital_simple_correlator_make = R"doc()doc";
diff --git a/gr-digital/python/digital/bindings/docstrings/simple_framer_pydoc_template.h b/gr-digital/python/digital/bindings/docstrings/simple_framer_pydoc_template.h
deleted file mode 100644
index bd6f2f10c5..0000000000
--- a/gr-digital/python/digital/bindings/docstrings/simple_framer_pydoc_template.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-#include "pydoc_macros.h"
-#define D(...) DOC(gr, digital, __VA_ARGS__)
-/*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
- and will be overwritten during the build process
- */
-
-
-static const char* __doc_gr_digital_simple_framer = R"doc()doc";
-
-
-static const char* __doc_gr_digital_simple_framer_simple_framer = R"doc()doc";
-
-
-static const char* __doc_gr_digital_simple_framer_make = R"doc()doc";
diff --git a/gr-digital/python/digital/bindings/python_bindings.cc b/gr-digital/python/digital/bindings/python_bindings.cc
index 0cf304cf95..2621412e6a 100644
--- a/gr-digital/python/digital/bindings/python_bindings.cc
+++ b/gr-digital/python/digital/bindings/python_bindings.cc
@@ -93,9 +93,6 @@ void bind_protocol_formatter_async(py::module&);
void bind_protocol_formatter_bb(py::module&);
void bind_protocol_parser_b(py::module&);
void bind_scrambler_bb(py::module&);
-void bind_simple_correlator(py::module&);
-void bind_simple_framer(py::module&);
-void bind_simple_framer_sync(py::module&);
void bind_symbol_sync_cc(py::module&);
void bind_symbol_sync_ff(py::module&);
void bind_timing_error_detector_type(py::module&);
@@ -198,9 +195,6 @@ PYBIND11_MODULE(digital_python, m)
bind_protocol_formatter_bb(m);
bind_protocol_parser_b(m);
bind_scrambler_bb(m);
- bind_simple_correlator(m);
- bind_simple_framer(m);
- bind_simple_framer_sync(m);
bind_symbol_sync_cc(m);
bind_symbol_sync_ff(m);
bind_timing_error_detector_type(m);
diff --git a/gr-digital/python/digital/bindings/simple_correlator_python.cc b/gr-digital/python/digital/bindings/simple_correlator_python.cc
deleted file mode 100644
index 0accdb6e61..0000000000
--- a/gr-digital/python/digital/bindings/simple_correlator_python.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(simple_correlator.h) */
-/* BINDTOOL_HEADER_FILE_HASH(131b5ac5b9824450600ab24f8a1b108e) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/simple_correlator.h>
-// pydoc.h is automatically generated in the build directory
-#include <simple_correlator_pydoc.h>
-
-void bind_simple_correlator(py::module& m)
-{
-
- using simple_correlator = ::gr::digital::simple_correlator;
-
-
- py::class_<simple_correlator,
- gr::block,
- gr::basic_block,
- std::shared_ptr<simple_correlator>>(
- m, "simple_correlator", D(simple_correlator))
-
- .def(py::init(&simple_correlator::make),
- py::arg("payload_bytesize"),
- D(simple_correlator, make))
-
-
- ;
-}
diff --git a/gr-digital/python/digital/bindings/simple_framer_python.cc b/gr-digital/python/digital/bindings/simple_framer_python.cc
deleted file mode 100644
index 5c7f9bbf80..0000000000
--- a/gr-digital/python/digital/bindings/simple_framer_python.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(simple_framer.h) */
-/* BINDTOOL_HEADER_FILE_HASH(61652087ff74cf54a99f8f906e2eb281) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/simple_framer.h>
-// pydoc.h is automatically generated in the build directory
-#include <simple_framer_pydoc.h>
-
-void bind_simple_framer(py::module& m)
-{
-
- using simple_framer = ::gr::digital::simple_framer;
-
-
- py::class_<simple_framer, gr::block, gr::basic_block, std::shared_ptr<simple_framer>>(
- m, "simple_framer", D(simple_framer))
-
- .def(py::init(&simple_framer::make),
- py::arg("payload_bytesize"),
- D(simple_framer, make))
-
-
- ;
-}
diff --git a/gr-digital/python/digital/bindings/simple_framer_sync_python.cc b/gr-digital/python/digital/bindings/simple_framer_sync_python.cc
deleted file mode 100644
index 4e22f8e03c..0000000000
--- a/gr-digital/python/digital/bindings/simple_framer_sync_python.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-/***********************************************************************************/
-/* This file is automatically generated using bindtool and can be manually edited */
-/* The following lines can be configured to regenerate this file during cmake */
-/* If manual edits are made, the following tags should be modified accordingly. */
-/* BINDTOOL_GEN_AUTOMATIC(0) */
-/* BINDTOOL_USE_PYGCCXML(0) */
-/* BINDTOOL_HEADER_FILE(simple_framer_sync.h) */
-/* BINDTOOL_HEADER_FILE_HASH(1adbf6040f18f2e2884f8772902700a4) */
-/***********************************************************************************/
-
-#include <pybind11/complex.h>
-#include <pybind11/pybind11.h>
-#include <pybind11/stl.h>
-
-namespace py = pybind11;
-
-#include <gnuradio/digital/simple_framer_sync.h>
-// pydoc.h is automatically generated in the build directory
-#include <simple_framer_sync_pydoc.h>
-
-void bind_simple_framer_sync(py::module& m)
-{
- // TODO: Add the constexprs here
-}
diff --git a/gr-digital/python/digital/qa_simple_correlator.py b/gr-digital/python/digital/qa_simple_correlator.py
deleted file mode 100644
index 9b7690c883..0000000000
--- a/gr-digital/python/digital/qa_simple_correlator.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2013 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-#
-
-
-from gnuradio import gr, gr_unittest, blocks, filter, digital
-
-
-class test_simple_correlator(gr_unittest.TestCase):
-
- def setUp(self):
- self.tb = gr.top_block()
-
- def tearDown(self):
- self.tb = None
-
- def test_00(self):
- expected_result = [
- 0x00, 0x11, 0x22, 0x33,
- 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb,
- 0xcc, 0xdd, 0xee, 0xff
- ]
-
- # Filter taps to expand the data to oversample by 8
- # Just using a RRC for some basic filter shape
- taps = filter.firdes.root_raised_cosine(8, 8, 1.0, 0.5, 21)
-
- src = blocks.vector_source_b(expected_result)
- frame = digital.simple_framer(4)
- unpack = blocks.packed_to_unpacked_bb(1, gr.GR_MSB_FIRST)
- expand = filter.interp_fir_filter_fff(8, taps)
- b2f = blocks.char_to_float()
- mult2 = blocks.multiply_const_ff(2)
- sub1 = blocks.add_const_ff(-1)
- op = digital.simple_correlator(4)
- dst = blocks.vector_sink_b()
- self.tb.connect(src, frame, unpack, b2f, mult2, sub1, expand)
- self.tb.connect(expand, op, dst)
- self.tb.run()
- result_data = dst.data()
-
- self.assertEqual(expected_result, result_data)
-
-
-if __name__ == '__main__':
- gr_unittest.run(test_simple_correlator)
diff --git a/gr-digital/python/digital/qa_simple_framer.py b/gr-digital/python/digital/qa_simple_framer.py
deleted file mode 100644
index 7acfc82977..0000000000
--- a/gr-digital/python/digital/qa_simple_framer.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2004,2007,2010,2012,2013 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-#
-
-
-from gnuradio import gr, gr_unittest, digital, blocks
-
-
-class test_simple_framer(gr_unittest.TestCase):
-
- def setUp(self):
- self.tb = gr.top_block()
-
- def tearDown(self):
- self.tb = None
-
- def test_simple_framer_001(self):
- src_data = (0x00, 0x11, 0x22, 0x33,
- 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb,
- 0xcc, 0xdd, 0xee, 0xff)
-
- expected_result = [
- 0xac,
- 0xdd,
- 0xa4,
- 0xe2,
- 0xf2,
- 0x8c,
- 0x20,
- 0xfc,
- 0x00,
- 0x00,
- 0x11,
- 0x22,
- 0x33,
- 0x55,
- 0xac,
- 0xdd,
- 0xa4,
- 0xe2,
- 0xf2,
- 0x8c,
- 0x20,
- 0xfc,
- 0x01,
- 0x44,
- 0x55,
- 0x66,
- 0x77,
- 0x55,
- 0xac,
- 0xdd,
- 0xa4,
- 0xe2,
- 0xf2,
- 0x8c,
- 0x20,
- 0xfc,
- 0x02,
- 0x88,
- 0x99,
- 0xaa,
- 0xbb,
- 0x55,
- 0xac,
- 0xdd,
- 0xa4,
- 0xe2,
- 0xf2,
- 0x8c,
- 0x20,
- 0xfc,
- 0x03,
- 0xcc,
- 0xdd,
- 0xee,
- 0xff,
- 0x55]
-
- src = blocks.vector_source_b(src_data)
- op = digital.simple_framer(4)
- dst = blocks.vector_sink_b()
- self.tb.connect(src, op)
- self.tb.connect(op, dst)
- self.tb.run()
- result_data = dst.data()
- self.assertEqual(expected_result, result_data)
-
-
-if __name__ == '__main__':
- gr_unittest.run(test_simple_framer)