summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/include/gnuradio/buffer.h
Commit message (Collapse)AuthorAgeFilesLines
* runtime: remove unused includes from buffer headersMarcus Müller2021-11-241-1/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: mark buffer methods as overrideJosh Morman2021-11-031-3/+3
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: rename buffer_context to transfer type; also rename theDavid Sorber2021-10-251-11/+17
| | | | | | | | MAKE_CUSTOM_BUFFER_TYPE macro function to DEFINE_CUSTOM_BUFFER_TYPE; mark unused parameters from virtual functions with the [[maybe_unused]] C++ attribute Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* runtime: use std::function for callback logicDavid Sorber2021-10-251-2/+2
| | | | Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 2David Sorber2021-10-251-5/+63
| | | | | | | | | | | | | | | | | Completion of custom buffer/accelerator device support changes: * Improved custom buffer interface by removing awkward memory allocation functions from the block class * Increased flexibility for creating custom buffers by allowing creation of buffer_single_mapped subclasses * Fully incorporated data movement abstraction into the custom buffer interface and the runtime itself; accelerated blocks are no longer directly responsible for their own data movement * Zero copy back-to-back accelerated blocks are now supported (data no longer needs to be moved back to the host between each block) Signed-off-by: David Sorber <david.sorber@blacklynx.tech> Signed-off-by: Mike Mason <mike.mason@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 1David Sorber2021-10-251-155/+120
| | | | | | | | | | | | | | | Custom Buffer/Accelerator Device Support - Milestone 1 changes: * Refactored existing single mapped buffer code and created single mapped buffer abstraction; wrapping within single mapped buffers is handled explicitly by input blocked and output blocked callbacks that are called from block_executor * Added simple custom buffer allocation interface (NOTE: this interface will change for milestone 2) * Accelerated blocks are still responsible for data transfer but the custom buffer interface eliminates the double copy problem Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* global: automatically remove unused boost includesMarcus Müller2021-06-221-1/+0
| | | | | | | | used command: sed -i '/^#include.*boost.*$/d' $(ag -L '(boost::|BOOST)' $(ag --cpp -l '#include <boost')) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: replace stderr logging by calls to GR's logging faciltiesMarcus Müller2020-04-131-0/+5
|
* runtime: Remove most manual memory managementThomas Habets2020-04-111-2/+2
| | | | | | The remaining ones: * `pmt_pool.cc`, which is a memory allocator so that makes sense * the tricky and aptly named `sptr_magic.cc`.
* global: remove boost ptr headers not neededThomas Habets2020-04-091-1/+1
|
* Switch from boost pointers to std C++11 pointersThomas Habets2020-04-011-5/+5
| | | | | | | | | | | | | | | | | | | Most of this code is automated code changes: ``` set -e SUB="s/dummy/dummy/" for i in shared_ptr make_shared dynamic_pointer_cast weak_ptr enable_shared_from_this get_deleter; do SUB="$SUB;s/boost::$i/std::$i/g" done SUB="$SUB;s^#include <boost/shared_ptr.hpp>^#include <memory>^g" SUB="$SUB;s^namespace boost^namespace std^g" find . \( -name "*.cc" -o -name "*.h" -o -name "*.i" -o -name "*.cxx" -o -name "*.py" \) -print0 | xargs -0 sed -i "$SUB" ``` Only one manual change. In `./gr-fec/lib/fec_mtrx_impl.cc`, add `#include <algorithm>`.
* Update license header to SPDX formatdevnulling2020-01-271-13/+1
|
* clang-format: Ordering all the includesMarcus Müller2019-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang-format: ordering includes in gnuradio-runtime clang-format: ordering includes in gr-filter clang-format: ordering includes in gr-fft clang-format: ordering includes in gr-audio clang-format: ordering includes in gr-analog clang-format: ordering includes in gr-fec clang-format: ordering includes in gr-wavelet clang-format: ordering includes in gr-zeromq clang-format: ordering includes in gr-vocoder clang-format: ordering includes in gr-video-sdl clang-format: ordering includes in gr-trellis clang-format: ordering includes in gr-blocks clang-format: ordering includes in gr-digital clang-format: ordering includes in gr-uhd clang-format: ordering includes in gr-dtv clang-format: ordering includes in gr-channels clang-format: ordering includes in gr-qtgui clang_format.py: re-enable include reordering
* Tree: clang-format without the include sortingMarcus Müller2019-08-091-104/+122
|
* runtime: addresses issue #713.Tom Rondeau2016-01-281-0/+4
| | | | | | | | | | | | | | | | When disconnecting and reconnecting, buffers can change and new buffers will have their item counters zeroed out. Buffers held over will keep their current item counters at some value >> 0. In the case of the pfb_arb_resampler of issue #713, the rate update in the scheduler was getting confusing numbers and setting the rates to ridiculous values. Also, tags emitted from these new blocks will have offsets meaningless to the other blocks that held on to their buffers. This patch tells the scheduler to reset all buffer item counters (read and write) to 0 when connections are merged and also makes sure all tags are cleared from each block's input buffers. So upon a lock/unlock and reset event, all buffers' counters and tag containers are reset/cleared.
* runtime: updating buffer base pointer accessor to return const char*.Tom Rondeau2015-02-131-1/+1
|
* runtime: added accessor to get base address of buffer. Addresses Issue #729.Tom Rondeau2015-02-131-0/+5
| | | | | | Reintroduced qa_gr_block and added t2 tests to get input/output buffer size and base. Need to include buffer.h, block.h, and block_detail.h when calling these in a block's work function.
* runtime: speed up all the thingsTim O'Shea2014-09-191-0/+2
|
* Fix(?) prune_tags: needs verificationDoug Geiger2014-09-191-2/+1
|
* tags_wipTim O'Shea2014-09-191-3/+4
|
* runtime: Minor cosmetic typo and whitespace corrections.Moritz Fischer2013-12-071-1/+1
| | | | Signed-off-by: Moritz Fischer <moritz@ettus.com>
* runtime: changed name from set_group_delay to declare_sample_delay.Tom Rondeau2013-11-011-10/+10
|
* runtime: for blocks with a group delay, tag location should be moved ↵Tom Rondeau2013-10-291-5/+29
| | | | | | according to the delay. Since group delay is often unknown, we have added a new function set_group_delay to allow the user to set the value once delay is calculated. Also added ability to set the tag propagation delay, which is required for how the blocks::delay works.
* Merge branch 'next' into runtime_pimplJohnathan Corgan2013-05-121-2/+9
| | | | | | | | | | | | | | | | | | Catches up runtime_pimpl branch with changes on next since the initial branch start. Conflicts: gnuradio-runtime/include/gnuradio/constants.h gnuradio-runtime/include/gnuradio/tags.h gnuradio-runtime/include/gr_block_detail.h gnuradio-runtime/include/gr_buffer.h gnuradio-runtime/lib/CMakeLists.txt gnuradio-runtime/lib/gr_block.cc gnuradio-runtime/lib/gr_block_detail.cc gnuradio-runtime/lib/gr_block_executor.cc gnuradio-runtime/lib/gr_buffer.cc gnuradio-runtime/lib/gr_realtime.cc gr-blocks/lib/interleaved_short_to_complex_impl.cc
* runtime: converting runtime core to gr namespace, gnuradio include dir.Tom Rondeau2013-04-291-0/+302