aboutsummaryrefslogtreecommitdiffstats
path: root/gr-vocoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cmake: change how test files are build when cross compilingPhilip Balister2021-12-031-0/+3
| | | | | | | | | | | | | | | | | | | | * 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>
* vocoder: pep8 formattingJosh Morman2021-11-2410-18/+38
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* examples: Repair all examples affected by commit 91e9ddf.Ron Economos2021-10-111-12/+12
| | | | | | Replace all occurrences of empty minoutbuf and maxoutbuf with 0. Signed-off-by: Ron Economos <w6rz@comcast.net>
* classic modules: use common precompiled headersMarcus Müller2021-07-191-0/+4
| | | | | | | 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>
* vocoder/freedv_rx: include boost/format where usedMarcus Müller2021-06-221-0/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove unused <iomanip>, fix other includes in affected files when obviousMarcus Müller2021-06-172-2/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove iostream from all files not use cout|cerr|cin|clogMarcus Müller2021-06-172-2/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* Removed unused <cassert>Marcus Müller2021-01-281-1/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-1915-15/+15
| | | | | | | | | | | | | | | | | | | | 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>
* build: Remove clang unused variable warnings.Ron Economos2020-12-074-23/+3
|
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-0318-37/+37
|
* Add `override` for common virtual function overridesThomas Habets2020-11-0318-20/+20
| | | | | | | | | | 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.
* qa: run autopep8 formatting on qa python filesmormj2020-10-308-57/+71
| | | | | | 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-307-7/+7
|
* pybind: add implicit conversion from int to enummormj2020-10-282-0/+4
| | | | | | | | | | | | | * 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
* vocoder: cmake: Use pybind macros to manage bindings.Ryan Volz2020-10-201-40/+19
| | | | | | 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.
* vocoder: add text message output to FreeDV demodulatorClayton Smith2020-10-204-38/+80
| | | | | | | | | | | | 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.
* vocoder: allow input & output rates to differClayton Smith2020-10-204-19/+26
| | | | | | | 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.
* gr-vocoder: Install missing block tree file.Ron Economos2020-10-191-0/+1
|
* vocoder: refactor get_next_tx_char callbackClayton Smith2020-10-162-34/+16
| | | | | | | | | | | | | 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.
* add an option to enable/disable examplesGwenhael Goavec-Merou2020-09-021-1/+3
|
* python: Remove unnecessary 'from __future__ import'Oleksandr Kravchuk2020-08-0310-20/+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-3018-24/+23
| | | | | | | | | | | | | | 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
* pybind: remove docstring dependency on entire moduleJosh Morman2020-06-111-1/+1
| | | | | | | | | | 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
* vocoder: remap enums in yml from int to raw for pybind compatibilityJosh Morman2020-06-044-4/+4
|
* vocoder: add bindings for freedv_api to fix qaJosh Morman2020-06-045-10/+86
|
* pybind: run clang-formatJosh Morman2020-06-042-2/+2
|
* vocoder: fix list/tuple in qa testsJosh Morman2020-06-045-5/+5
|
* vocoder: Fix semicolon error in Pybind11 bindingsAndrej Rode2020-06-042-2/+2
|
* vocoder: add pybind11 bindingsJosh Morman2020-06-0443-11/+1526
|
* pybind: removal of swig componentsJosh Morman2020-06-043-158/+0
|
* vocoder: replace stderr logging by calls to GR's logging faciltiesMarcus Müller2020-04-131-5/+3
|
* Switch from boost pointers to std C++11 pointersThomas Habets2020-04-0118-18/+18
| | | | | | | | | | | | | | | | | | | 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>`.
* Update license header to SPDX formatdevnulling2020-01-2786-1118/+86
|
* examples: fixup cmake files to include all examplesdevnulling2020-01-221-0/+5
|
* Remove newlines from exception messagesThomas Habets2020-01-012-4/+4
|
* codec2: fix support for codec2 version < 0.8Davide Gerhard2019-11-051-3/+2
| | | | | | | | | 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
* codec2: development (master) branch supportDavide Gerhard2019-11-011-0/+7
| | | | | | | | | 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.
* Fix for source typosluz.paz2019-08-101-9/+9
|
* clang-format: Ordering all the includesMarcus Müller2019-08-0925-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Tree: clang-format without the include sortingMarcus Müller2019-08-0967-2986/+2798
|
* vocoder: clean up examples for 3.8Josh Morman2019-07-042-1091/+527
| | | | | | | Minor updates to the vocoder examples, namely swapping out the selector block, but also enabling audio source instead of wav file fixes #2531
* vocoder: Fix build on NetBSD.MBoerschig2019-03-242-2/+2
| | | | | | | 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.
* gr-vocoder: update codec2 and freedv blocks.A. Maitland Bottoms2019-03-2416-1837/+970
| | | | | Update to add support for newer modes in codec2 0.8.1. Fixup grc blocks yml templates, update examples.
* cmake: Update to modern CMake usageAndrej Rode2019-03-044-100/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* codec2: only check length of encoded messages in unit testAndrej Rode2019-01-141-13/+41
| | | | | | 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
* cmake: Only go into grc/ subdirs when ENABLE_GRC=ONMartin Braun2018-12-171-1/+3
|
* Merge remote-tracking branch 'origin/next' into merge_nextMarcus Müller2018-08-31196-38645/+1940
|\
| * Merge branch 'python3_fix' into nextAndrej Rode2018-06-2462-700/+502
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * dtv/vocoder: remove stray *block_tree.ymlAndrej Rode2017-12-031-1/+0
| | |