| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* When cross compiling gnuradio, change how the test files are built.
Normally, the gnuradio QA code expects to run in the build tree. For the
cross compilng case, we cannot run the QA code during the build process.
The changes here allow the creation of an additional package that can be
installed on a target that will run the QA code against the installed
libraries.
Major changes are not using full paths to test files (since they include
paths that only exist on the build machine) and not setting environment
variables in the shell files to force the QA code to use code in the
build tree.
This patch disables the C++ only tests, these need some work and then they
can be added back for the cross compile case.
Signed-off-by: Philip Balister <philip@balister.org>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
|
|
|
|
|
|
| |
Replace all occurrences of empty minoutbuf and maxoutbuf with 0.
Signed-off-by: Ron Economos <w6rz@comcast.net>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
find ./ -iname qa*.py | xargs autopep8 --in-place -a -a
mostly formats whitespace and gets rid of trailing semicolons
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dtv: add implicit conversion from int to enum
* analog: add implicit conversion from int to enum
* blocks: add implicit conversion from int to enum
* digital: add implicit conversion from int to enum
* fec: add implicit conversion from int to enum
* fft: add implicit conversion from int to enum
* filter: add implicit conversion from int to enum
* qtgui: add implicit conversion from int to enum
* trellis: add implicit conversion from int to enum
* vocoder: add implicit conversion from int to enum
* bindtool: add implicitly_convertible to all enums
|
|
|
|
|
|
| |
This helps prevent current and future headaches by making sure
improvements to the pybind11 CMake don't also need to be added
specifically for gr-vocoder.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FreeDV protocol includes a low bit rate text stream which is used to
transmit information such as call sign and location. GNU Radio's FreeDV
demodulator block sets up a callback to receive this text data, but the
callback currently does nothing.
Here I've added an optional message output to the block. It collects
characters until a carriage return is encountered, then outputs a
string. I've updated the sample flow graph to print these messages using
the Message Debug block.
|
|
|
|
|
|
|
| |
The input & output rates of the FreeDV modulator aren't necessarily the
same. In particular, the 2400A and 2400B modes have an input rate of
8000 sps and an output rate of 48000 sps. To allow for arbitrary input &
output rates, I've changed freedv_tx_ss from sync_block to block.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The get_next_tx_char callback in the FreeDV modulator block is one of
the last places where snprintf is used. I've eliminated it by using C++
string methods instead. This also removes the 79-character limit.
This change also fixes a bug where the last character of the message was
not transmitted.
Lastly, I refactored the callback to be a static member function,
eliminating the need for a separate structure to hold the callback
state.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
When the module is used as a dependency for the docstring substitution
task, any change to any file in the module will cause the regeneration
of the bindings for the entire module and all modules that are dependent
on that one.
There is still probably a better way tie the docstring substitution into
the custom commands, per file
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>`.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
codec2 version < 0.8 doesn't provide codec2/version.h header
therefore cmake discovers if it is available.
fix gr-vocoder build on ubuntu < 19.04 and debian < 10
Closes: https://github.com/gnuradio/gnuradio/pull/2858#issuecomment-549391165
|
|
|
|
|
|
|
|
|
| |
add support for the development branch (master) of codec2 still
maintaining compatibility with version 0.8.1.
NOTE:
from 0.9.1 codec2 works fine without `extern "C"`.
from 0.8.1 to 0.9.1 the build fail.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
Minor updates to the vocoder examples, namely swapping out the selector
block, but also enabling audio source instead of wav file
fixes #2531
|
|
|
|
|
|
|
| |
There was an #ifdef missing in lib/thread/thread.cc and in gr-vocoder
the include directive for gsm.h contains a gsm/ prefix.
The cmake FindGSM.cmake looks for **/include/ and **/include/gsm
anyways.
|
|
|
|
|
| |
Update to add support for newer modes in codec2 0.8.1.
Fixup grc blocks yml templates, update examples.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 the encoder & decoder pair was tested for a known input to produce a
precomputed output. Which can change with improvements in the codec2 library.
A similar test for the decoder needs to be implemented
|
| |
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|