summaryrefslogtreecommitdiff
path: root/gr-analog/lib
Commit message (Collapse)AuthorAgeFilesLines
* classic modules: use common precompiled headersMarcus Müller2021-07-191-4/+12
| | | | | | | 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>
* analog: remove deprecated freq portJosh Morman2021-04-212-19/+0
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* analog: PLL Freq Det: refactor (implementation in .cc, not .h)Marcus Müller2021-04-172-20/+16
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* analog/fastnoise: avoid modulo operation when picking indicesMarcus Müller2021-03-252-18/+59
| | | | | | | | | When the pool is power-of-2-sized, index generation can be done using a simple bitmask. Document this, add logging info. - use unsigned and fixed-length int where due - avoid expensive integer modulo operation when possible - extract power-of-two constexpr - don't clutter the logs for small pool sizes Signed-off-by: Marcus Müller <marcus@hostalia.de>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-193-3/+3
| | | | | | | | | | | | | | | | | | | | 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>
* C++14: Use std::make_unique instead of boost::make_uniqueMarcus Müller2021-01-041-4/+4
| | | | | | Also, clean up includes Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-0329-251/+269
|
* Add `override` for common virtual function overridesThomas Habets2020-11-0329-29/+29
| | | | | | | | | | 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.
* Replace all calls to `get_initial_sptr` with `make_block_sptr`Thomas Habets2020-07-3027-41/+34
| | | | | | | | | | | | | | 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
* analog: signal source block accepts cmd messagesalekhgupta14412020-06-232-20/+72
| | | | | | | | | | | | | | | containing * amplitude (ampl) * frequency (freq) * offset (offset) * phase (phase) key/value pairs. Deprecates the `freq` port and adds a logging message. Adds a small GRC example.
* msg_handler: Use lambdas in most componentsJohannes Demel2020-06-041-1/+1
| | | | | With this commit, all components except gr-qtgui use lambdas instead of `boost::bind` to register msg handlers.
* analog/dpll: remove unused printf debugging, includeMarcus Müller2020-04-131-8/+0
|
* analog/ctcss_squelsh_ff: Add const where applicableThomas Habets2020-04-102-8/+6
|
* analog: Remove manual memory managementThomas Habets2020-04-104-17/+13
|
* runtime: Use nanosecond resolution for default random seedThomas Habets2020-04-101-2/+4
| | | | | This exposed some missing forwarding of RNG seed from one object to another, also fixed in this commit.
* gr-digital: Improve PLL Loops and Clock Recoveryghostop142020-02-156-68/+58
| | | | | | | These updates incorporate the same inlining of loop functions and the newly pushed fast_cc_multiply function to ensure consistent performance improvements across systems that do not support the cx-limited-range compiler parameter (Macs and Windows).
* runtime/math: unclutter GR_M_ math constant definesMarcus Müller2020-02-145-12/+12
| | | | | | * no speed advantage of GR_M_TWOPI: every compiler pre-computes constants, so that (2 * GR_M_PI) is just as fast * rest of constants not even used
* Update license header to SPDX formatdevnulling2020-01-2761-793/+61
|
* clang-format: Ordering all the includesMarcus Müller2019-08-099-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0959-2721/+2553
|
* gr-analog: sig source byte support mode, added qa tests #1994Eral Tuerkyilmaz2019-04-191-1/+1
|
* cmake: Update to modern CMake usageAndrej Rode2019-03-041-58/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cmake: remove unused *_generated_swigs syntaxAndrej Rode2019-01-071-1/+1
| | | | | these variables are always empty and are leftovers from removing gengen templates
* analog: sig_source: Add phase parameterAdrian Suciu2018-11-152-5/+17
| | | | | | | Note: This does not include GRC bindings. Signed-off-by: Adrian Suciu <adrian.suciu@analog.com> Signed-off-by: Martin Braun <martin.braun@ettus.com>
* analog: fastnoise post-merge cleanupAndrej Rode2018-09-011-1/+3
|
* Merge remote-tracking branch 'origin/next' into merge_nextMarcus Müller2018-08-3123-805/+804
|\
| * analog: replace gengen with C++ templatesAndrej Rode2018-08-2513-736/+749
| |
| * Clean-up: Remove unused private variables (Issue #1621, #1622, #1624)andriy gelman2018-04-281-6/+0
| |
| * Merge branch 'fix_cmake_cxx_standard' of ↵Marcus Müller2018-03-2210-80/+70
| |\ | | | | | | | | | https://github.com/noc0lour/gnuradio into noc0lour-fix_cmake_cxx_standard
| | * math: replace M_PI and derivatives with GR_M_PI definesAndrej Rode2018-02-1710-83/+73
| | |
| * | purge boost/math/special_functions/erf.hppJohannes Demel2018-03-041-13/+10
| |/ | | | | | | | | | | | | | | | | | | | | `boost/math/special_functions/erf.hpp` causes compile errors. Also, it is only used for two functions `erf` and `erfc`. Both functions are available in `cmath`. Including this boost header back in 2012 might have fixed an issue, but now it causes huge trouble. A 1500+ line compile error with: /usr/include/boost/math/special_functions/detail/erf_inv.hpp:355:50: error: invalid suffix Q on floating constant boost::math::erfc_inv(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-900)), Policy());
| * Merge branch 'master' into nextJohnathan Corgan2017-06-221-5/+5
| |\
| * \ Merge branch 'master' into nextJohnathan Corgan2016-11-111-2/+2
| |\ \
| * | | cmake: nuke cpack from existenceJohnathan Corgan2016-08-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | CPack is not used, unmaintaned, and broken. This does not eliminate any MSVC build functionality.
* | | | Fixed wrong coefficient in Taylor series; cleanupMarcus Müller2018-07-081-28/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To even edit this file, indents had to be sanitized a bit. Also, commented-out code was removed. Also, 8.f is a constand and not really longer than `d_8`. This is the first in two changes necessary for #1817. The other would be adding a unit test that is *slightly* more holistic than just doing a single-tone frequency detection. Note that there's much about this code that could be refactored, starting with Sdot being a FIR-filtered version of the input.
* | | | analog: Replace QA test framework w/ Boost UTFMartin Braun2018-06-214-139/+10
| | | |
* | | | analog: improve fastnoise qaAndrej Rode2018-03-302-0/+5
| | | |
* | | | Converted fastnoise_source from rand() to xoroshiro128+Marcus Müller2018-03-302-19/+12
| |_|/ |/| | | | | | | | | | | | | | This solves the issue with libc rand() relying on global (not thread-local!) state and thus not being suited for multithreaded applications. This fixes #1542.
* | | gr-analog: added memory alignment for MSVC to agc3gnieboer2017-06-111-5/+5
| |/ |/|
* | Add config check for Xrand48() functionsPaul Cercueil2016-11-111-2/+2
|/ | | | | | | This fixes some compile errors under MinGW, which does not provide those functions. Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
* Fixing `Sdot` calculation in `fmdet_cf_impl` `work()`Ben Hilburn2016-07-141-1/+1
| | | | | Bug reported on-list. Current code actually results in the S1 terms simply canceling each other, whereas the second term should be S2.
* analog: Adds ability to set the sig_source frequency using a key:value pair.Tom Rondeau2016-03-082-2/+32
| | | | | | | | Uses same message structure as the UHD command and the QTGUI freq and waterfall sinks of the key:value pair where the key must be "freq". Also does proper type checking on the PMT.
* analog: add ControlPort interfaces to frequency_modulator block.Tom Rondeau2016-02-123-11/+24
| | | | Change cmake file to allow ControlPort even for static library builds.
* analog: removed superfluous debug codeJohannes Demel2015-11-121-1/+1
|
* analog: added freq msg port to sig_sourceJohannes Demel2015-11-122-1/+5
|
* random-analog: fixed reseed issueJohannes Demel2015-09-282-3/+3
|
* random-analog: added new uniform integer distribution sourceJohannes Demel2015-09-283-0/+138
|
* frequency_modulator_fc: float modulo using cmathMarcus Müller2015-07-071-6/+4
|
* float internally, double in API: Honest signatures for honest peopleMarcus Müller2015-06-302-3/+3
| | | | | | I can see why the API preferred to have double (for later implementation changes). No one complained, so accuracy is probably sufficient. Time to be honest about the signature.
* analog: fixes calculation of complex noise sources from the amplitudeTom Rondeau2015-05-112-2/+16
| | | | | | | | setting. This had been producing 3 dB more power for complex sources than real sources for the same amplitude setting. Added a noise_power.grc example file to explore this.