summaryrefslogtreecommitdiff
path: root/gnuradio-runtime
Commit message (Collapse)AuthorAgeFilesLines
* pmt: use to_string for char string_refsmormj2020-12-191-2/+2
|
* runtime: Add terminate handlingPaul Wicks2020-12-195-4/+181
| | | | | | | | | | | | | | | | | | | | | | | | This consists of the following changes: 1. Add a top_block parameter to control exception handling This restores past behavior where the scheduler catches exceptions raised in block threads, allowing flowgraphs to continue running after the failure of an individual block. It also adds optional new behavior, selected by setting catch_exceptions=False to the top block, which causes exceptions to not be caught. In this mode of operation, a std::terminate handler can be installed to print a stack trace before the flowgraph exits. 2. Add terminate_handler to top_block_impl This adds a terminate_handler function that prints information about any uncaught exceptions and also attempts to print a backtrace for said exception after which it calls std::abort. The backtrace is printed via libunwind, which is a new optional dependency. If libunwind is not found/installed, then the terminate handler will still print information about the exception and then exit. Co-Authored-By: Scott Torborg <storborg@gmail.com>
* RPC fixes to allow using Thrift-0.13A. Maitland Bottoms2020-12-193-13/+27
| | | | | | | Adds ability for master to build with newer Thrift versions by checking availability of thrift include files. (Also spelling fix: Thift -> Thrift) And fix up logging for rpcserver_thrift class.
* add import fft to python files that reference fft.windowJosh Morman2020-12-181-1/+1
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* global replace of filter.firdes.WIN_ with fft.window.WIN_Josh Morman2020-12-181-2/+2
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: abolish the gru python moduleMarcus Müller2020-12-174-46/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* move msgq_runner out of runtime into gr-uhd/apps, its single consumerMarcus Müller2020-12-173-72/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* gnuradio-runtime: Fix qa_fast_atan2f test code.Ron Economos2020-11-141-3/+3
|
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-0340-210/+219
|
* Add `override` for common virtual function overridesThomas Habets2020-11-031-2/+2
| | | | | | | | | | Mostly done with: ``` find -name "*_impl.h" | xargs sed -i -r '/(void forecast|int work|int general_work|bool check_topology)\(/{:back /\)/b nxt;N;b back;:nxt s/\)$|\)(;)/) override\1/g}' ``` Then I removed an incorrect `work` that this found.
* Remove unused gru importsClayton Smith2020-11-021-1/+1
| | | | | Neither of these files use the gru module anymore. I've tested that they work correctly after removing the unused imports.
* qa: run autopep8 formatting on qa python filesmormj2020-10-308-40/+55
| | | | | | find ./ -iname qa*.py | xargs autopep8 --in-place -a -a mostly formats whitespace and gets rid of trailing semicolons
* qa: remove xml file parameter causing deprecation warningsmormj2020-10-306-6/+6
|
* Remove gru.daemonize and dial_tone_daemon exampleClayton Smith2020-10-303-94/+0
| | | | | | | These were added in GNU Radio 3.1.3, but a Google search finds no mention of gru.daemonize outside of the changelog. Modern Python programs could use the python-daemon library, which implements the daemon specification of PEP 3143.
* Fix examples that use wavfile_sinkClayton Smith2020-10-301-1/+2
| | | | | The recent libsndfile transition changed the API of the wavfile_sink block, so the two examples that use it need to be updated.
* Remove freqz and gnuplot_freqz from gru moduleClayton Smith2020-10-304-426/+0
|
* Remove hexint and hexshort from gru moduleClayton Smith2020-10-303-34/+0
|
* utils: Added print-all to gnuradio-config-infoDerek Kozel2020-10-291-10/+16
| | | | Signed-off-by: Derek Kozel <derek@bitstovolts.com>
* Fix typos throughout the codeluzpaz2020-10-295-7/+7
| | | | | | | * Fix various typos Found via `codespell v2.0.dev` `codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
* Remove gcd, lcm, and log2 from gru moduleClayton Smith2020-10-293-23/+0
|
* Make hash table a little larger to reduce expensive iteration. The memory ↵Jacob Gilbert2020-10-281-1/+1
| | | | impact is very small, on the order of 10's of kB.
* Replace custom undocumented string hashing algorithm with std::hash. The std ↵Jacob Gilbert2020-10-281-17/+2
| | | | implmentation is slightly faster and has been tested to have similar distribution with arbitrary input data
* runtime: fix Windows loggingjapm482020-10-201-1/+1
| | | | | This removes a few compilation errors in Windows related to logging functions (see PR #3339).
* gru: remove unused filesClayton Smith2020-10-206-164/+0
|
* audio: fix lcm calculationClayton Smith2020-10-201-1/+1
|
* runtime: remove unused HAVE_SNPRINTF macroClayton Smith2020-10-201-8/+0
| | | | | | The last reference to HAVE_SNPRINTF was removed in a75f0c40fe0912535fe102792f27c13d01df8e3e so it should now be safe to remove it.
* runtime: remove snprintfClayton Smith2020-10-202-6/+13
|
* runtime: remove six (#3808)mormj2020-10-201-4/+1
|\
| * runtime: remove sixClayton Smith2020-10-051-4/+1
| |
* | gnuradio-runtime, pmt: dont use CMAKE_INSTALL_PREFIX for target ↵Gwenhael Goavec-Merou2020-10-162-2/+2
| | | | | | | | INSTALL_INTERFACE
* | pmt: add absolute pmt serialization QAJacob Gilbert2020-10-151-2/+197
| | | | | | | | currently there is nothing to check the absolute accuracy of PMT serialization, and it is easy for changes to break this provided serialize_str() and deserialize_str() are inverse functions. this provides some absolute reference PMT strings to ensure compatibility is retained.
* | pmt: add binding for __repr__ functionJacob Gilbert2020-10-141-0/+1
| | | | | | | | per 3.8 behavior, and the GR wiki, the __repr__ function of a PMT object should be overloaded to call pmt::write_string. This is currently not bound so this adds this binding.
* | pybind11: Remove SWIG remnants.Ron Economos2020-10-123-5/+1
|/
* runtime: gateway: Fix Doxygen warningMartin Braun2020-10-051-1/+1
| | | | Fixes an incorrectly named Doxygen parameter.
* lib, include: Include missing headers.Ryan Volz2020-10-021-0/+1
| | | | | This fixes compilation with MSVC on conda-forge, although why this wasn't needed earlier is a mystery.
* runtime: fix latency issue caused by setting block alias on message blockJacob Gilbert2020-09-303-5/+9
| | | | 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.
* add an option to enable/disable examplesGwenhael Goavec-Merou2020-09-021-1/+3
|
* runtime: add alias for io_signature{v,3,2}Josh Morman2020-08-141-0/+4
|
* python: Remove unnecessary 'from __future__ import'Oleksandr Kravchuk2020-08-0354-87/+0
| | | | | | | | | | | | | | | | All of the removed `from __future__ import` were needed in older versions of Python (mostly 2.5.x and below) but later became mandatory in most versions of Python 3 hence are not necessary anymore. More specifically, according to __future__.py[1]: - unicode_literals is part of Python since versions 2.6.0 and 3.0.0; - print_function is part of Python since versions 2.6.0 and 3.0.0; - absolute_import is part of Python since versions 2.5.0 and 3.0.0; - division is part of Python since versions 2.2.0 and 3.0.0; Get rid of those unnecessary imports to slightly clean up the codebase. [1] https://github.com/python/cpython/blob/master/Lib/__future__.py
* Replace all calls to `get_initial_sptr` with `make_block_sptr`Thomas Habets2020-07-309-38/+26
| | | | | | | | | | | | | | First batch of changes: ``` find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}' ``` Then: * Back out `sptr_magic.h` edits * Change some `friend` clauses * clang-format the whole thing * Update checksums in the pybind11 bindings files
* blocks: move the `new` from the block `::make()` to coreThomas Habets2020-07-301-0/+15
| | | | | This includes the first edit of a block, so that it's easy to review. A following commit changes this globally.
* controlport: include <algorithm> when using std::for_each()Daniel Estévez2020-07-301-0/+1
| | | | | std::for_each() is defined in <algorithm>, so that if it is not included, it doesn't build in some platforms
* pybind: include and enable realtime_impl wrappingMarcus Müller2020-06-222-3/+3
| | | | | This solves the issue of gr.enable_realtime_scheduling() failing because rt_status_t wasn't wrapped without.
* pmt: update pybind code for dcons and is_pmtJosh Morman2020-06-042-0/+12
|
* utils: move python search path in build dir upJosh Morman2020-06-041-1/+1
|
* pybind: update hash for basic_block.hJosh Morman2020-06-041-1/+1
|
* msg_handler: Use lambdas to set msg handlersJohannes Demel2020-06-041-2/+1
| | | | | With this commit, all calls to `set_msg_handler` in `gr-blocks` use lambdas. This helps to use `std::function` instead of `boost::function`.
* msg_handler: Switch from boost::function to std::functionJohannes Demel2020-06-042-3/+4
| | | | | | | 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.
* pybind: add hash check to binding file creation (#3472)mormj2020-06-0445-46/+398
|
* pybind: run clang-formatJosh Morman2020-06-046-41/+40
|