| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
There is no scenario that a block or app should be calling forecast over
the python interface. This is only called by the scheduler, and for
python blocks would pass through the gateway interface.
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
Algorithm improved in order to eliminate getting output values
outside of range [-1.0, 1.0)
Fixes #2993
Signed-off-by: Artem Pisarenko <artem.k.pisarenko@gmail.com>
|
|
|
|
|
|
| |
tag_checker.h uses std::sort
Signed-off-by: Josh Blum <josh@joshknows.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
| |
|
|
|
|
|
|
| |
find ./ -iname qa*.py | xargs autopep8 --in-place -a -a
mostly formats whitespace and gets rid of trailing semicolons
|
| |
|
|
|
|
|
|
|
| |
* Fix various typos
Found via `codespell v2.0.dev`
`codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This solves the issue of gr.enable_realtime_scheduling() failing because
rt_status_t wasn't wrapped without.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Prior to this, the unit test was flaky, especially when running the test
suite concurrently, as test setup could take more than 0.5 s.
|
|
|
|
|
|
|
| |
When looking for the config file, allow the env variable
GR_PREFS_PATH to be searched so that multiple installations
of GR each with its own prefs can be used, similar to what
is currently done in GRC
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
This commit removes the catch statements from thread_body_wrapper.h.
The reason to do this is that, as-is, a single block in a flowgraph
may throw an exception and stop functioning, but the only indication
of this to the user is printing the exception's what() to stderr.
With this patch, any uncaught exception will call std::terminate,
which should still print the exception's what(), but will also
terminate the process, rather than leaving a zombie flowgraph.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found via `codespell -q 3 -L ans,sinc,hist,ist,ith,uint,fo -S ./volk`
Fix typos in gnuradio-runtime/
Fix typos in gr-digital/
Fix typos in gr-qtgui/
Fix typos in gr-channels/
Fix typos in grc/
Fix typos gr-filter/
Fix typos in gr-uhd/
Fix typos in gr-blocks/
Fix typos in gr-fec/
|
| |
|
|
|
|
|
|
|
|
| |
We essentially monkeypatched Python's `threading` module inelegantly to
get around shortcomings in Python 2.3 and 2.4.
Since support for these versions is long gone: removal of this clutch
and its usage.
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Manual merge conflict resolution has been applied to following
conflicts:
* Typos:
* gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py
* gr-blocks/python/blocks/qa_wavfile.py
* gr-filter/examples/gr_filtdes_api.py
* grc/blocks/parameter.xml
* gr-uhd/python/uhd/__init__.py
* ValueError -> RuntimeError:
* gr-blocks/python/blocks/qa_hier_block2.py
* relative Imports & other Py3k:
* gr-digital/python/digital/psk_constellations.py
* gr-digital/python/digital/qam_constellations.py
* gr-digital/python/digital/test_soft_decisions.py
* gr-digital/python/digital/gfsk.py
* SequenceCompleter:
* gr-utils/python/modtool/modtool_add.py
* gr-utils/python/modtool/modtool_rename.py
* gr-utils/python/modtool/modtool_rm.py
* Updated API on next:
* gr-blocks/grc/blocks_file_source.xml
* gr-blocks/python/blocks/qa_file_source_sink.py
* gr-qtgui/grc/qtgui_time_sink_x.xml
* GRC Py3k Updates:
* grc/core/Block.py
* grc/core/Constants.py
* grc/core/Platform.py
* grc/core/utils/odict.py
* grc/gui/Actions.py
* grc/gui/Block.py
* grc/gui/Executor.py
* grc/gui/Port.py
|
| | | |
|
| |\ \ |
|
| |\ \ \
| | |_|/
| |/| | |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
CPack is not used, unmaintaned, and broken.
This does not eliminate any MSVC build functionality.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This allows GRC to iterate the output signatures of epy blocks after
switching over to py_io_signature.
Fixes #1666.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Only moved code comments to become docstrings.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Performance testing shows that the difference between range and
xrange is negligable here, using Python 2.7.14.
|
| | | | | |
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
C++ block in/out ports are described by io_signature, which holds
the min number of ports, max number of ports, and a list of type
lengths. If len(type lengths) < max number of ports, the last type
is assumed to apply to the remaining ports. When a flowgraph is built,
a variable number of ports can be connected.
Python block ports are specified using a list of numpy types. The
number of ports is fixed in the block specification, and the flowgraph
must connect exactly that number of ports.
This patch changes the Python behavior (while maintaining backward
compatibility) to match the C++ behavior. A new py_io_signature
class is used to specify port number limits, along with a list of
numpy types, like this:
in_sig = gr.py_io_signature(2, -1, ['float32', 'float32'])
where in_sig is passed to the block super's __init__ as before.
|
| |_|/
|/| |
| | |
| | | |
Luzpaz went ahead and found typos using `codespell -q 3`.
|
| |/
|/| |
|
|/ |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|