summaryrefslogtreecommitdiff
path: root/gnuradio-runtime
Commit message (Collapse)AuthorAgeFilesLines
...
* runtime: tags can be compared with < instead of offset_compareMarcus Müller2021-06-282-6/+11
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* cmake: Remove absolute paths and private links from exported targets.Ryan Volz2021-06-251-6/+2
| | | | | | | | | | | | | | | | | | | | This transitions to using Python::NumPy, pybind11::pybind11, and libunwind::libunwind targets for building with the include directories/libraries of NumPy, pybind11, and libunwind. The Python::NumPy target matches what is available with the FindPython module in CMake 3.14+ (and can be transitioned to such when the minimum CMake version is past that). These changes have the effect of cleaning up the include_directory paths added to the gnuradio-runtime target so that no absolute paths are used, which is helpful for relocatable installations (e.g. conda). Part of this change involves moving some link targets to PRIVATE since they are not actually part of the public interface. In the case of the python bindings, these are not exported and have no public interface for consumption by other C++ libraries, so the switch from PUBLIC to PRIVATE has no practical effect but could still help avoid future confusion. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime: cleaning up unspecific/mistaken boost dependenciesMarcus Müller2021-06-226-11/+7
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: automatically remove unused boost includesMarcus Müller2021-06-223-3/+1
| | | | | | | | used command: sed -i '/^#include.*boost.*$/d' $(ag -L '(boost::|BOOST)' $(ag --cpp -l '#include <boost')) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* testing: rm dependencies from disabled components in blocks/runtime testsMarcus Müller2021-06-193-47/+49
| | | | | | | | | This included shifting of the PDU test from runtime to gr-pdu, and making the tests that actually require blocks conditional on whether there's going to be gr-blocks. Also, don't use gr-analog just because you need data. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime/realtime_impl: remove commented out, low-entropy debug printfsMarcus Müller2021-06-171-8/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime/math QA: remove orphaned debug printfsMarcus Müller2021-06-173-35/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: automatic removal of <cstdio> where unusedMarcus Müller2021-06-1713-13/+1
| | | | | | | | | | used command: sed -i '/^#include.*cstdio.*$/d' $(ag -L '\b(fscanf|sscanf|printf|sprintf|ftell|fgetpos|fseek|fsetpos|rewind|fopen|freopen|fclose|fflush|setbuf|setvbuf|fread|fwrite|fprintf|feof|ferror|perror|clearerror|rename|tmpfile|tmpnam)\b' $(ag -l 'include.*<cstdio>' gnuradio-runtime)) Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* pmt: remove unused <functional> includeMarcus Müller2021-06-171-1/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* logger: move non-interface includes to buffer.ccMarcus Müller2021-06-173-9/+15
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* logging: remove <iostream> from logger.h, add where consequently missingMarcus Müller2021-06-177-6/+11
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: remove iostream from all files not use cout|cerr|cin|clogMarcus Müller2021-06-1723-23/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: dereference symlink in gr::prefix()beroset2021-06-161-3/+3
| | | | | | | | | | | * Fix gnuradio/gnuradio#4639 by dereferencing symlink in gr::prefix(). Signed-off-by: Ed Beroset <beroset@ieee.org> * Fix gnuradio/gnuradio#4639 with update per suggestion by ryanvolz. Using std::filesystem::canonical resolves symlinks and normalizes path. Signed-off-by: Ed Beroset <beroset@ieee.org>
* runtime: remove installed remnant of old unitttest infraMarcus Müller2021-06-082-30/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* feature: gr-iioAdam Horden2021-06-041-0/+1
| | | | | | Co-authored-by: Edward Kigwana <ekigwana@scires.com> Co-authored-by: Travis Collins <travis.collins@analog.com> Signed-off-by: Adam Horden <adam.horden@horden.engineering>
* runtime: ctrlport: cmake: Fix thrift dependency for OOTs.Ryan Volz2021-06-014-27/+22
| | | | | | | | | | | | | | | | | | | First, this moves find_package(THRIFT) up to the gnuradio-runtime CMakeLists.txt so that cache variables no longer have to be used to mark the found components. This fixes an issue where the thrift-specific headers were not installed even when thrift was enabled, because on first run the detection was occurring AFTER the runtime include CMakeLists.txt was evaluated. See further discussion in #2734, which solved one issue related to this setup. Further, even with thrift enabled, the thrift headers are not required for OOTs to build against gnuradio-runtime. OOTs would need to take special action to use those headers, in which case they should detect/enable thrift on their own. Thus, this makes the change to not add thrift as an extra dependency for OOTs and switches linking of Thrift::thrift from PUBLIC to PRIVATE. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime: ctrlport: cmake: Add target for thrift python bindings.Ryan Volz2021-06-011-0/+4
| | | | | | | | Without a target, the Python bindings are not built (i.e. the custom command is not run) until they are needed, during install. By adding a target, they will be generated during the build step. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime: Explicitly convert path to string to fix MSVC build.Ryan Volz2021-06-011-1/+1
| | | | Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* pmt: remove extra, mis-named pmt::pmt_ functionsJeff Long2021-05-193-87/+0
| | | | Signed-off-by: Jeff Long <willcode4@gmail.com>
* soapy: added Python support for Soapy types needed for full API supportNicholas Corgan2021-05-061-0/+1
| | | | | | | * Fixed gr-soapy Python import * Partially addresses https://github.com/gnuradio/gnuradio/issues/4571 Signed-off-by: Nicholas Corgan <n.corgan@gmail.com>
* runtime: Save prefs safely by atomic renameThomas Habets2021-05-021-7/+24
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: Access d_config_map cleanerThomas Habets2021-05-023-29/+11
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: Use mutex for prefsThomas Habets2021-05-023-5/+11
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: Simplify prefsThomas Habets2021-05-023-173/+150
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: install xoroshiro128p.hJacob Gilbert2021-04-261-0/+1
| | | | | | | As of eb91fb0 this is required for anything linking against gr::random which broke at least one OOT. Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* cmake: Move swath of add_definitions to gnuradio-runtime target.Ryan Volz2021-04-171-40/+71
| | | | | | | | | | Besides being a more modern CMake style, this has the benefit of propagating the public definitions to any consumers of the gnuradio-runtime library, which includes OOT modules. For example, OOT modules would previously have to know to define "NOMINMAX" on MSVC, but now that happens transitively. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime, blocks, network: Clean up use of Win headers, fix stream_pdu.Ryan Volz2021-04-171-7/+3
| | | | | | | stream_pdu_base was failing to compile on Windows after moving to gr-network since HAVE_IO_H was not checked for or defined. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime/pybind: reduce buffer bindingsJosh Morman2021-04-061-185/+2
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: fix gr::random API to be fixed-width 64 bit, use XOROSHIRO128+Marcus Müller2021-04-065-18/+135
| | | | | | | | | | | | | | | Seeding being inconsistent between gr::random and things like fastnoise source is an outstanding issue (#1559). Fix that by fixing the API, and pivoting to our built-in XOROSHIRO128+, which is also substantially faster than MT19937. For that purpose, introduce, and python-bind, a wrapper class that can be used with STL distribution shapers. Add a unit test for the (P)RNG. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: don't do two lookups to verify existence and get msg handlerMarcus Müller2021-04-051-3/+3
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: remove ready message receiver queue remnant from basic_blockMarcus Müller2021-04-053-8/+2
| | | | | | 5197311dd22744b784ff9ae2cd965a26ef04f4a4 removed the blocking wait, which utilized this. Time for this to go. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* pmt: remove tag_to_pmt method (unused)Josh Morman2021-03-261-9/+0
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: size_t for vmcircbuf constructorJosh Morman2021-03-251-2/+2
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: buffer factories use size_tJosh Morman2021-03-259-18/+19
| | | | | | | | Addresses the issue where large buffer size requests get converted back and forth to signed/unsigned and can cause an overflow and the buffer allocation to fail Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: update thrift binding header hashesMarcus Müller2021-03-242-2/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime/random: xoroshiro128p.h was _nearly_ C compatibleMarcus Müller2021-03-232-2/+4
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* thrift: application base sptr reset->make_sharedMarcus Müller2021-03-201-2/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* thrift: replace ::bind with lambdaMarcus Müller2021-03-202-3/+3
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: add int_t and short_t PDU typesJacob Gilbert2021-03-183-6/+24
| | | | | | | These are not used yet but are valid PDUs and should be included here so as not to imply PDUs can have only byte/float/complex type uvec's Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* gr-blocks: remove pdu blocksJacob Gilbert2021-03-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The following have been moved to the new gr::pdu module or to gr::network and are no longer needed in gr::blocks: - pdu (noblock) - pdu_filter block - pdu_remove block - pdu_set block - pdu_to_tagged_stream block - random_pdu block - socket_pdu block - stream_pdu_base (noblock) - tagged_stream_to_pdu block - tcp_connection (noblock) - tuntap_pdu block The digital and FEC modules had a large number of references to the PDU blocks that were moved from gr-blocks to gr-pdu, this updates these changes in example flowgraphs and a few python files. The usage-manual update will be propagated to the wiki so that future exports will remain up to date. Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* gr-pdu: move pdu blocks to gr::pduJacob Gilbert2021-03-189-1/+317
| | | | | | | | | | | | | | | | | | | | | Moving the following from gr::blocks into gr-pdu: - pdu_filter block - pdu_remove block - pdu_set block - pdu_to_tagged_stream block - random_pdu block - tagged_stream_to_pdu block Moving the following from gr::blocks into gr-network: - socket_pdu block - stream_pdu_base (noblock) - tcp_connection (noblock) - tuntap_pdu block Moving the following from gr::blocks into gr: - pdu (noblock, general PDU functions) Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* gr-pdu: initial commit with the PDU moduleJacob Gilbert2021-03-181-0/+1
| | | | | | | There is only one simple block in here for now, and there are probably some doxygen issues but it builds and tests properly. Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* cmake: add compile definition for BOOST_DLLJosh Morman2021-03-131-0/+3
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* cmake: add compiler version statementsJosh Morman2021-03-131-0/+3
| | | | | | | Where std::filesystem is used to allow linking properly on Debian and Centos 8 Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* Replace boost::filesystem with std::filesystemZackery Spytz2021-03-139-34/+25
| | | | Signed-off-by: Zackery Spytz <zspytz@gmail.com>
* runtime: clean up realtime impl namespaceJosh Morman2021-03-089-123/+44
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* runtime: gr_unittest: Add waitFor() API callMartin Braun2021-03-031-0/+41
| | | | | | | This is a helper for adding conditional waits into test cases. Useful for tests with a non-deterministic execution time. Signed-off-by: Martin Braun <martin.braun@ettus.com>
* cmake: Thrift min version is set at top levelMartin Braun2021-02-181-1/+1
| | | | | | | - Modifies top-level CMake to set the min Thrift version - Modifies FindThrift.cmake to use a version argument Signed-off-by: Martin Braun <martin@gnuradio.org>
* pybind: remove forecast from python bindingsJosh Morman2021-02-185-35/+0
| | | | | | | | 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>
* block_executor: invalid states log errors without debug buildMarcus Müller2021-02-181-7/+3
| | | | | | Clean up includes on the way. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>