summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/python/gnuradio/gr/bindings
Commit message (Collapse)AuthorAgeFilesLines
* runtime: configurable blkd_input timerJosh Morman2021-12-102-1/+16
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: Use <spdlog/fmt/fmt.h> header handling SPDLOG_FMT_EXTERNALRyan Volz2021-12-101-1/+1
| | | | | | | | | Regardless of how spdlog was built (with/without SPDLOG_FMT_EXTERNAL), this ensures that the proper fmt headers are included. This makes it so that fmt is not a required dependency when spdlog is built with SPDLOG_FMT_EXTERNAL=OFF. Signed-off-by: Ryan Volz <ryan.volz@gmail.com>
* runtime: add workaround to #define disable logger headerJosh Morman2021-12-061-1/+1
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: remove unused includes from buffer headersMarcus Müller2021-11-242-2/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: change name of level_enum in py bindingJosh Morman2021-11-211-1/+1
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: minor API cleanupMarcus Müller2021-11-193-3/+3
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* logging core: replace log4cpp by spdlogMarcus Müller2021-11-193-247/+117
| | | | | | | | also: enable formerly disabled qa_logger tests This replaces log4cpp with spdlog. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: don't include boost/format.hpp in logger.hMarcus Müller2021-11-191-1/+1
| | | | | | this necessitates including it whenever it's used in-tree Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: mark buffer methods as overrideJosh Morman2021-11-031-1/+1
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: pybind version in gnuradio-config-infoJosh Morman2021-10-261-1/+1
| | | | Signed-off-by: Josh Morman <jmorman@gnuradio.org>
* runtime: replace the DEFINE_CUSTOM_BUFFER_TYPE() macro function withDavid Sorber2021-10-253-3/+3
| | | | | | | some advanced template magic; also a few minor type corrections for consistency Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* runtime: rename buffer_context to transfer type; also rename theDavid Sorber2021-10-252-2/+2
| | | | | | | | MAKE_CUSTOM_BUFFER_TYPE macro function to DEFINE_CUSTOM_BUFFER_TYPE; mark unused parameters from virtual functions with the [[maybe_unused]] C++ attribute Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* runtime: use std::function for callback logicDavid Sorber2021-10-251-1/+1
| | | | Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 2David Sorber2021-10-258-5/+87
| | | | | | | | | | | | | | | | | Completion of custom buffer/accelerator device support changes: * Improved custom buffer interface by removing awkward memory allocation functions from the block class * Increased flexibility for creating custom buffers by allowing creation of buffer_single_mapped subclasses * Fully incorporated data movement abstraction into the custom buffer interface and the runtime itself; accelerated blocks are no longer directly responsible for their own data movement * Zero copy back-to-back accelerated blocks are now supported (data no longer needs to be moved back to the host between each block) Signed-off-by: David Sorber <david.sorber@blacklynx.tech> Signed-off-by: Mike Mason <mike.mason@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 1David Sorber2021-10-257-9/+138
| | | | | | | | | | | | | | | Custom Buffer/Accelerator Device Support - Milestone 1 changes: * Refactored existing single mapped buffer code and created single mapped buffer abstraction; wrapping within single mapped buffers is handled explicitly by input blocked and output blocked callbacks that are called from block_executor * Added simple custom buffer allocation interface (NOTE: this interface will change for milestone 2) * Accelerated blocks are still responsible for data transfer but the custom buffer interface eliminates the double copy problem Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* global: Replace stdio logging with loggerDavid Winter2021-10-211-1/+1
| | | | | | | This commit replaces many uses of std::c{out,err} and printf with the appropriate GR_LOG_* directives. Signed-off-by: David Winter <david.winter@analog.com>
* runtime: fix pybind of get_tags_in_window mormj2021-09-291-2/+2
| | | | | | | | | | | | | * runtime: fix pybind of get_tags_in_window Fix issue where get_tags_in_window was bound to and consequently had the same behavior as get_tags_in_range Fixes #5005 Test recommended by ryanvolz fails to validate tag offset not just when nitems_read is 0 Signed-off-by: Josh Morman <jmorman@peratonlabs.com>
* pdu: add samp_rate keyJacob Gilbert2021-09-222-1/+7
| | | | | | | This was omitted accidentally, but is necessary in general for correct processing of PDU data Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* runtime: remove tag_checkerMarcus Müller2021-07-304-87/+0
| | | | | | | | | | | | | | | | | | | | | | Deprecated on 3.9: `tag_checker` used to be meant for cases where you've gotten an unsorted tag vector (mostly, from `get_tags_in_range`), which you then had to go through in parallel to your samples, to check which tag applies at what sample. For that it sorts the tags; the tags coming from the `get_tags*` functions are sorted already The checking pattern (which `chunks_to_symbols` is the last consumer of) is inefficient: instead of taking the index of the first unprocessed tag and processing all samples up to that index, a check is performed on every sample, which includes calls and multiple indirections. So, since very likely nobody uses this, and because it's a design anti-pattern, deprecating this on 3.9 and removing it with 3.10. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* pdu: adding tags_to_pdu blockJacob Gilbert2021-07-192-1/+26
| | | | Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* pdu: adding pdu_to_stream blockJacob Gilbert2021-07-192-1/+17
| | | | Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* pdu: Adding new blocksJacob Gilbert2021-07-192-1/+10
| | | | | | Added take_skip_to_pdu block and pdu lambda blocks, needs examples still Signed-off-by: Jacob Gilbert <jacob.gilbert@protonmail.com>
* gr: logger: Add logger_get_configured_logger()David Winter2021-07-021-2/+5
| | | | | | | | A helper method is added to gr/lib/logger.cc to facilitate the allocation of loggers which are automatically configured according to the local GNURadio configuration. Signed-off-by: David Winter <david.winter@analog.com>
* runtime: use < instead of compare_offset, remove Python comparison classMarcus Müller2021-06-281-1/+1
| | | | | | | Since the introduction of the comparison operator obsoletes the comparison class, remove it. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: tags can be compared with < instead of offset_compareMarcus Müller2021-06-281-1/+5
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: cleaning up unspecific/mistaken boost dependenciesMarcus Müller2021-06-221-1/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* global: automatically remove unused boost includesMarcus Müller2021-06-221-1/+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>
* global: automatic removal of <cstdio> where unusedMarcus Müller2021-06-171-1/+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>
* logger: move non-interface includes to buffer.ccMarcus Müller2021-06-171-1/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* logging: remove <iostream> from logger.h, add where consequently missingMarcus Müller2021-06-172-2/+2
| | | | 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/+2
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: Access d_config_map cleanerThomas Habets2021-05-021-1/+1
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: Use mutex for prefsThomas Habets2021-05-021-1/+1
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* runtime: Simplify prefsThomas Habets2021-05-021-1/+1
| | | | Signed-off-by: Thomas Habets <thomas@habets.se>
* 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-062-3/+46
| | | | | | | | | | | | | | | 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: remove ready message receiver queue remnant from basic_blockMarcus Müller2021-04-051-1/+1
| | | | | | 5197311dd22744b784ff9ae2cd965a26ef04f4a4 removed the blocking wait, which utilized this. Time for this to go. Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* 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-231-1/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* thrift: replace ::bind with lambdaMarcus Müller2021-03-201-1/+1
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: add int_t and short_t PDU typesJacob Gilbert2021-03-181-3/+5
| | | | | | | 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-pdu: move pdu blocks to gr::pduJacob Gilbert2021-03-184-1/+149
| | | | | | | | | | | | | | | | | | | | | 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>
* Replace boost::filesystem with std::filesystemZackery Spytz2021-03-131-1/+1
| | | | Signed-off-by: Zackery Spytz <zspytz@gmail.com>
* runtime: clean up realtime impl namespaceJosh Morman2021-03-084-89/+11
| | | | Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
* 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>
* clang-tidy: run full .clang-tidy on C++17 codebaseMarcus Müller2021-01-195-5/+5
| | | | | | | | | | | | | | | | | | | | 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>
* runtime: simplify math fxpt sine/cosine calculationArtem Pisarenko2021-01-171-1/+1
| | | | | | | | | 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>
* runtime: added missing algorithm headerJosh Blum2021-01-111-1/+1
| | | | | | tag_checker.h uses std::sort Signed-off-by: Josh Blum <josh@joshknows.com>
* modernization: `override` instead of virtual in all compilation unitsMarcus Müller2020-11-0314-14/+14
|
* Fix typos throughout the codeluzpaz2020-10-292-4/+4
| | | | | | | * Fix various typos Found via `codespell v2.0.dev` `codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`