| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
|
| |
also: enable formerly disabled qa_logger tests
This replaces log4cpp with spdlog.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
|
|
|
| |
some advanced template magic; also a few minor type corrections for
consistency
Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
This changes how the blocks are identified when they need to be notified that they have messages waiting. It also clarifies the name the block is registered with explicitly, and adds exceptions for looking up blocks that do not exist.
|
|
|
|
|
| |
With this commit, all calls to `set_msg_handler` in `gr-blocks` use
lambdas. This helps to use `std::function` instead of `boost::function`.
|
|
|
|
|
|
|
| |
This commit is a first stab at moving from `boost::function` to `std::function`.
For now, it does only update gr-blocks. Also, this requires more testing.
If others can confirm that this change works, I'll continue to update all modules.
|
|
|
|
|
|
|
| |
No reason to assume only `general_work`-containing blocks would want to
log.
This enables us especially to log in `basic_block` itself.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is C++11: you can convert
std::vector<complextype> vec;
vec.push_back(complextype(foo, bar, baz));
by
std::vector<complextype> vec;
vec.emplace_back(foo, bar, baz);
which saves one unnecessary copy.
This mostly happened in rpc code.
The automated clang-tidy check failed miserably, so most of this was
done by hand.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
C++ bindings for MPIR/GMP don't provide conversion for uint64_t, also
known as "long long" on 32-bit architectures.
Using the underlying (GMP/MPIR) C library directly allows usage of these
types.
|
|\ |
|
| |
| |
| |
| |
| | |
Add identifier() calls to flowgraph components to return a string with a human
readable string to reuse in both: the std::ostream overload and the logging system.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid floating point precision problems in propagation of tags for
the following cases:
- Common relative rates that are non-terminating in binary (1/3, 1/5, 1/7, ...)
- Large tag offsets
- Inexact floating point reciprocals when specifying the relative rate
This change to the runtime only fixes the tag propagation problems for
blocks with a fixed/unchanging relative rate.
This change adds a dependency on the MIPR library (a fork of the GMP
library) to perform multiple precision interger rational arithmetic.
MIPR was chosen as it purports to maintain a properly working Windows
build for cross-platform compatability. Optimizations in MIPR are
also targeted to ARM in additional to x86-64.
|
| | |
|
|/
|
|
|
| |
Cache the port name `pmt::mp("system")` as well as the magic "done"
value `pmt::mp("done")` to avoid repeated hashing.
|
| |
|
| |
|
| |
|
|
|
|
| |
the format of the logging output.
|
|
|
|
| |
throughput_avg is calculated with a wall clock timer over all items produced.
|
|
|
|
| |
get log file info on logger setup.
|
|
|
|
|
|
| |
Now builds shared libraries with ControlPort (if ControlPort is enableed). Static libs still without ControlPort.
Added proper Option and output message in cmake for Static Libs on/off.
|
|\ |
|
| |
| |
| |
| |
| | |
* Fixed usage of Windows thread-naming API, changed minimum Windows version
* Fixed MSVC usage of isnan, round
|
|\| |
|
| |
| |
| |
| |
| |
| | |
adding new appenders to the logger. Now we clear them and set a
This adds a set of "set" functions to set a new appender. We can always add additional loggers using the old "add" functions.
|
|\ \
| |/
|/|
| |
| |
| | |
Conflicts:
cmake/Modules/FindICE-3.5.cmake
gnuradio-runtime/include/gnuradio/rpcregisterhelpers.h
|
| |
| |
| |
| |
| |
| |
| |
| | |
Does not allow for setting individual block aliases underneath a hier_block.
runtime: updates block registery to support updating block's alias that's then accessible through alias().
Adds an update_symbolic_name to the block_registry to delete the old key and add the new one. The block_registry only keeps the symbol_name (which never changes during the lifetime of the block) and the latest alias name that was set.
|
| |
| |
| |
| |
| |
| | |
gr-perf-monitorx has button to call this.
Also changes the icon of the ControlPort tools to the new one.
|
| | |
|
| | |
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
gr-perf-monitorx has button to call this.
Also changes the icon of the ControlPort tools to the new one.
|
|/ |
|
|
|
|
|
|
| |
access it in sources as gnuradio/config.h.
Also uses the config.h to pull out if we've defined GR_PERFORMANCE_COUNTERS to handle the setup_pc_rpc function if perf counters are/are not compiled in.
|
|
|
|
| |
updates some docs.
|
| |
|
|
|
|
|
|
| |
When enabled, uses nitems_written/nitems_read to update the relative_rate of a block. Useful for blocks that change their relative rate based on activity in the work function. Disabled by default.
digital: PFB clock sync blocks set update_rate to True.
|