diff options
Diffstat (limited to 'include/gnuradio/gr_sync_interpolator.h')
-rw-r--r-- | include/gnuradio/gr_sync_interpolator.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/include/gnuradio/gr_sync_interpolator.h b/include/gnuradio/gr_sync_interpolator.h index e69de29..3cac3ed 100644 --- a/include/gnuradio/gr_sync_interpolator.h +++ b/include/gnuradio/gr_sync_interpolator.h @@ -0,0 +1,58 @@ +// +// Copyright 2012 Josh Blum +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with io_sig program. If not, see <http://www.gnu.org/licenses/>. + +#ifndef INCLUDED_GNURADIO_GR_SYNC_INTERPOLATOR_H +#define INCLUDED_GNURADIO_GR_SYNC_INTERPOLATOR_H + +#include <gnuradio/runtime_api.h> +#include <gr_sync_block.h> + +struct GR_RUNTIME_API gr_sync_interpolator : gr_sync_block +{ + + gr_sync_interpolator(void); + + gr_sync_interpolator( + const std::string &name, + gr_io_signature_sptr input_signature, + gr_io_signature_sptr output_signature, + const size_t interp_rate + ); + + size_t interpolation(void); + void set_interpolation(const size_t interp); + + //! implements work -> calls work + int general_work (int noutput_items, + gr_vector_int &ninput_items, + gr_vector_const_void_star &input_items, + gr_vector_void_star &output_items); + void forecast (int noutput_items, gr_vector_int &ninput_items_required); + + /*! + * \brief just like gr_block::general_work, only this arranges to call consume_each for you + * + * The user must override work to define the signal processing code + */ + virtual int work( + int noutput_items, + gr_vector_const_void_star &input_items, + gr_vector_void_star &output_items + ) = 0; + +}; + +#endif /*INCLUDED_GNURADIO_GR_SYNC_INTERPOLATOR_H*/ |