| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This removes a use of boost and fixes the failing build (due to missing
the boost::scoped_array header, how did this work before?).
Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This commit replaces many uses of std::c{out,err} and printf with the
appropriate GR_LOG_* directives.
Signed-off-by: David Winter <david.winter@analog.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the classic modules:
audio
blocks
digital
dtv
fec
fft
filter
qtgui
trellis/fsm
uhd
video-sdl
vocoder/freedv_rx
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
| |
This commit contains all the additions to gr-*/lib/CMakeLists.txt
applicable to modules already present in 3.8.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
| |
CreateEvent() should be checked for failure. An access violation
could occur if it is not.
Signed-off-by: Zackery Spytz <zspytz@gmail.com>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
| |
Co-authored-by: Josh Morman <jmorman@perspectalabs.com>
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
|
|
|
| |
Note this classic (which I didn't do in ALSA back in the day, 'doh):
If you don't assign your future coming from std::async to something, its
destructor is instantly called, leading to the call effectively being
blocking.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run
/usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*'
-fix ..
from build directory.
Then,
clang-format -i $(git diff --name-only origin/master)
to clang-format changed files.
Then, refresh all header hashes in pybind bindings
(*/python/bindings/*.cc)
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Previously the header must have been pulled in by one of the Boost
includes, because with a newer Boost version I had build errors. This
makes the include explicit so std::isdigit is guaranteed to be declared.
|
|
|
|
|
| |
This removes a few compilation errors in Windows related to logging
functions (see PR #3339).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit special, in that audio systems tend to have their own ways
of going wrong, and there's platform-specific development debugging
infrastructure in there, which I intentionally did not touch.
I did touch a few commented lines of code in the intention of, if you
enable that line of logging, it should be consistent with the rest.
There's copious amounts of untouched stderr-logging in `#if 0`-disabled
code in OSX's infrastructure.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>`.
|
| |
|
|
|
|
|
| |
These are all ones I could find, so assert->static_assert should now
be done.
|
| |
|
|
|
| |
It is int snd_pcm_nonblock(snd_pcm_t *pcm, int nonblock)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constexpr is like const but (for variables) guarantees evaluation at
compile time (as opposed to runtime).
Likely this change will do nothing on its own (though it could, since
it gives the compiler more information). But it still has benefits.
It allows programmer to know that initialization is not expensive (it
was done at compile time), and reduces risk of a refactoring
regressing the compiletimeness.
Runtime initialization can be nonobvious in larger codebases. E.g.:
struct S {
static int foo();
};
const int bar = S::foo(); // Called and initialized at *runtime*.
int S::foo() { return 10; }
With constexpr:
struct S {
static constexpr int foo();
};
constexpr int bar = S::foo(); // Error: used before definition.
constexpr int S::foo() { return 10; }
Initializing at runtime is not just startup costs, but also can save
memory since it'll end up in a R/O section of a binary and therefore
doesn't need to be swapped out, but can be shared (in the mmap() sense
of the word).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes using target based setting of includes
and link libraries. This will transitively add the includes
and linking flags to dependent targets.
This is still a work in progress since only the dynamic
libraries have been touched and not all of include_directories
directives are gone yet.
cmake: remove GR_INCLUDE_SUBDIRECTORY macro
Previously this macro was used to inject subdirectories in the
current CMake namespace. This is generally undesired and pollutes the
current context.
previously GNU Radio CMake had a non-default option ENABLE_STATIC_LIBS
to build both, shared libraries and static libraries.
This seems to be a construction taken over from autotools and serves
no purpuose in CMake and complicates the library building.
cmake: remove GR_LIBTOOL and la generation support
This looks like it was primarily used to support projects using
autotools, but comments state that the generated .la files aren't
compatible with autotools anyway.
cmake: Bump required CMake version to 3.8
UseSWIG cmake uses syntax which requires at least CMake 3.8 and is non-trivial
to change
|
| |
|
|
|
|
|
|
|
| |
Previously all directories were in the include path
which breaks for local includes in pointy brackets.
This commit uses quotes for local includes in
gr-audio now.
|
|
|
|
|
| |
This is a minor change towards slowly replacing Boost with newer std::
functionality.
|
|\ |
|
| | |
|
| |\ |
|
| |\ \ |
|
| |\ \ \ |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
gr-wxgui/lib/CMakeLists.txt
|
| |\ \ \ \ \ |
|
| |\ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ |
|