GNU Radio logging wrapper. More...
Namespaces | |
analog | |
audio | |
blocks | |
channels | |
digital | |
dtv | |
fec | |
fft | |
filter | |
iio | |
metadata_keys | |
msgport_names | |
network | |
pdu | |
qtgui | |
soapy | |
thread | |
trellis | |
types | |
uhd | |
video_sdl | |
vocoder | |
wavelet | |
zeromq | |
Classes | |
class | msg_queue_comparator |
class | basic_block |
The abstract base class for all signal processing blocks. More... | |
class | block |
The abstract base class for all 'terminal' processing blocks. More... | |
class | block_detail |
Implementation details to support the signal processing abstraction. More... | |
class | block_registry |
class | buffer |
Single writer, multiple reader fifo. More... | |
class | buffer_double_mapped |
Single writer, multiple reader fifo. More... | |
class | buffer_reader |
How we keep track of the readers of a gr::buffer. More... | |
class | buffer_reader_sm |
class | buffer_single_mapped |
A single mapped buffer where wrapping conditions are handled explicitly via input/output_blocked_callback functions called from block_executor. More... | |
class | buffer_type_base |
Base class for describing a buffer's type. More... | |
struct | buftype |
Template used to create buffer types. Note that the factory_class parameter must contain a static function make_buffer() that matches the signature below and will be used to create instances of the corresponding buffer type. More... | |
class | custom_lock_if |
class | custom_lock |
class | dictionary_logger_backend |
In-Memory Logger. More... | |
class | endpoint |
Class representing a specific input or output graph endpoint. More... | |
class | msg_endpoint |
class | edge |
Class representing a connection between to graph endpoints. More... | |
class | msg_edge |
Class representing a msg connection between to graph msg endpoints. More... | |
class | flowgraph |
Class representing a directed, acyclic graph of basic blocks. More... | |
class | fxpt |
fixed point sine and cosine and friends. More... | |
class | fxpt_nco |
Numerically Controlled Oscillator (NCO) More... | |
class | fxpt_vco |
Voltage Controlled Oscillator (VCO) More... | |
class | hier_block2 |
Hierarchical container class for gr::block's and gr::hier_block2's. More... | |
class | host_buffer |
class | io_signature |
i/o signature for input and output ports. More... | |
class | logging |
class | logger |
GR_LOG macros. More... | |
class | message |
Message class. More... | |
class | msg_accepter |
Accepts messages and inserts them into a message queue, then notifies subclass gr::basic_block there is a message pending. More... | |
class | msg_handler |
abstract class of message handlers More... | |
class | msg_queue |
thread-safe message queue More... | |
class | nco |
base class template for Numerically Controlled Oscillator (NCO) More... | |
class | prefs |
Base class for representing user preferences a la windows INI files. More... | |
class | xoroshiro128p_prng |
wrapper for XOROSHIRO128+ PRNG for use in std::distributions Fulfills C++ named requirements for UniformRandomBitGenerator More... | |
class | random |
pseudo random number generator More... | |
class | sync_block |
synchronous 1:1 input to output with history More... | |
class | sync_decimator |
synchronous N:1 input to output with history More... | |
class | sync_interpolator |
synchronous 1:N input to output with history More... | |
class | tagged_stream_block |
Block that operates on PDUs in form of tagged streams. More... | |
struct | tag_t |
class | top_block |
Top-level hierarchical block representing a flowgraph. More... | |
struct | tpb_detail |
used by thread-per-block scheduler More... | |
Typedefs | |
typedef std::vector< basic_block_sptr > | basic_block_vector_t |
typedef std::vector< basic_block_sptr >::iterator | basic_block_viter_t |
typedef std::vector< block_sptr > | block_vector_t |
typedef std::vector< block_sptr >::iterator | block_viter_t |
typedef std::function< void *(void *, const void *, std::size_t)> | mem_func_t |
typedef const buffer_type_base & | buffer_type |
typedef std::vector< std::reference_wrapper< const buffer_type_base > > | gr_vector_buffer_type |
typedef std::vector< endpoint > | endpoint_vector_t |
typedef std::vector< endpoint >::iterator | endpoint_viter_t |
typedef std::vector< edge > | edge_vector_t |
typedef std::vector< edge >::iterator | edge_viter_t |
typedef std::vector< msg_edge > | msg_edge_vector_t |
typedef std::vector< msg_edge >::iterator | msg_edge_viter_t |
typedef signed long long | high_res_timer_type |
Typedef for the timer tick count. More... | |
using | log_level = spdlog::level::level_enum |
using | logger_ptr = std::shared_ptr< logger > |
Enumerations | |
enum class | buffer_mapping_type { double_mapped , single_mapped } |
enum | endianness_t { GR_MSB_FIRST , GR_LSB_FIRST } |
enum | rt_status_t { RT_OK = 0 , RT_NOT_IMPLEMENTED , RT_NO_PRIVS , RT_OTHER_ERROR } |
enum | rt_sched_policy { RT_SCHED_RR = 0 , RT_SCHED_FIFO = 1 } |
enum class | transfer_type { DEFAULT_INVALID , HOST_TO_DEVICE , DEVICE_TO_HOST , HOST_TO_HOST , DEVICE_TO_DEVICE } |
Functions | |
bool | operator< (basic_block_sptr lhs, basic_block_sptr rhs) |
GR_RUNTIME_API long | basic_block_ncurrently_allocated () |
std::ostream & | operator<< (std::ostream &os, basic_block_sptr basic_block) |
GR_RUNTIME_API std::ostream & | operator<< (std::ostream &os, const block *m) |
GR_RUNTIME_API block_detail_sptr | make_block_detail (unsigned int ninputs, unsigned int noutputs) |
GR_RUNTIME_API long | block_detail_ncurrently_allocated () |
GR_RUNTIME_API buffer_sptr | make_buffer (int nitems, size_t sizeof_item, uint64_t downstream_lcm_nitems, uint32_t downstream_max_out_mult, block_sptr link=block_sptr(), block_sptr buf_owner=block_sptr()) |
Allocate a buffer that holds at least nitems of size sizeof_item . More... | |
GR_RUNTIME_API long | buffer_ncurrently_allocated () |
returns # of buffers currently allocated More... | |
GR_RUNTIME_API buffer_reader_sptr | buffer_add_reader (buffer_sptr buf, int nzero_preload, block_sptr link=block_sptr(), int delay=0) |
Create a new gr::buffer_reader and attach it to buffer buf . More... | |
GR_RUNTIME_API long | buffer_reader_ncurrently_allocated () |
returns # of buffer_readers currently allocated More... | |
GR_RUNTIME_API const std::string | prefix () |
return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc More... | |
GR_RUNTIME_API const std::string | sysconfdir () |
return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc More... | |
GR_RUNTIME_API const std::string | prefsdir () |
return preferences file directory. Typically ${SYSCONFDIR}/etc/conf.d More... | |
GR_RUNTIME_API const std::string | build_date () |
return date/time of build, as set when 'cmake' is run More... | |
GR_RUNTIME_API const std::string | version () |
return version string defined by cmake (GrVersion.cmake) More... | |
GR_RUNTIME_API const std::string | major_version () |
return just the major version defined by cmake More... | |
GR_RUNTIME_API const std::string | api_version () |
return just the api version defined by cmake More... | |
GR_RUNTIME_API const std::string | minor_version () |
returnjust the minor version defined by cmake More... | |
GR_RUNTIME_API const std::string | c_compiler () |
return C compiler used to build this version of GNU Radio More... | |
GR_RUNTIME_API const std::string | cxx_compiler () |
return C++ compiler used to build this version of GNU Radio More... | |
GR_RUNTIME_API const std::string | compiler_flags () |
return C and C++ compiler flags used to build this version of GNU Radio More... | |
GR_RUNTIME_API const std::string | build_time_enabled_components () |
return build-time enabled components More... | |
GR_RUNTIME_API const std::string | pybind_version () |
return the pybind11 version used to build this version of GNU Radio More... | |
GR_RUNTIME_API flowgraph_sptr | make_flowgraph () |
std::ostream & | operator<< (std::ostream &os, const endpoint endp) |
std::ostream & | operator<< (std::ostream &os, const edge edge) |
std::ostream & | operator<< (std::ostream &os, const msg_endpoint endp) |
std::ostream & | operator<< (std::ostream &os, const msg_edge edge) |
std::string | dot_graph_fg (flowgraph_sptr fg) |
GR_RUNTIME_API hier_block2_sptr | make_hier_block2 (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature) |
public constructor for hier_block2 More... | |
GR_RUNTIME_API std::string | dot_graph (hier_block2_sptr hierblock2) |
Return hierarchical block's flow graph represented in dot language. More... | |
high_res_timer_type | high_res_timer_now (void) |
Get the current time in ticks. More... | |
high_res_timer_type | high_res_timer_now_perfmon (void) |
Get the current time in ticks - for performance monitoring. More... | |
high_res_timer_type | high_res_timer_tps (void) |
Get the number of ticks per second. More... | |
high_res_timer_type | high_res_timer_epoch (void) |
Get the tick count at the epoch. More... | |
bool | operator== (const io_signature &lhs, const io_signature &rhs) |
GR_RUNTIME_API bool | configure_default_loggers (gr::logger_ptr &l, gr::logger_ptr &d, const std::string &name) |
static void | fast_cc_multiply (gr_complex &out, const gr_complex cc1, const gr_complex cc2) |
static bool | is_power_of_2 (long x) |
GR_RUNTIME_API float | fast_atan2f (float y, float x) |
Fast arc tangent using table lookup and linear interpolation. More... | |
static float | fast_atan2f (gr_complex z) |
static float | branchless_clip (float x, float clip) |
static float | clip (float x, float clip) |
static unsigned int | binary_slicer (float x) |
static unsigned int | quad_45deg_slicer (float r, float i) |
static unsigned int | quad_0deg_slicer (float r, float i) |
static unsigned int | quad_45deg_slicer (gr_complex x) |
static unsigned int | quad_0deg_slicer (gr_complex x) |
static unsigned int | branchless_binary_slicer (float x) |
static unsigned int | branchless_quad_0deg_slicer (float r, float i) |
static unsigned int | branchless_quad_0deg_slicer (gr_complex x) |
static unsigned int | branchless_quad_45deg_slicer (float r, float i) |
static unsigned int | branchless_quad_45deg_slicer (gr_complex x) |
static size_t | p2_round_down (size_t x, size_t pow2) |
static size_t | p2_round_up (size_t x, size_t pow2) |
static size_t | p2_modulo (size_t x, size_t pow2) |
static size_t | p2_modulo_neg (size_t x, size_t pow2) |
GR_RUNTIME_API long | message_ncurrently_allocated () |
GR_RUNTIME_API rt_status_t | enable_realtime_scheduling () |
If possible, enable high-priority "real time" scheduling. More... | |
void | sincos (double x, double *sinx, double *cosx) |
void | sincosf (float x, float *sinx, float *cosx) |
GR_RUNTIME_API const char * | tmp_path () |
directory to create temporary files More... | |
GR_RUNTIME_API const char * | appdata_path () |
directory to store application data More... | |
GR_RUNTIME_API const char * | userconf_path () |
directory to store user configuration More... | |
GR_RUNTIME_API top_block_sptr | make_top_block (const std::string &name, bool catch_exceptions=true) |
GR_RUNTIME_API std::ostream & | operator<< (std::ostream &os, const transfer_type &type) |
GNU Radio logging wrapper.
Include this header to use the message passing features.
typedef std::vector<basic_block_sptr> gr::basic_block_vector_t |
typedef std::vector<basic_block_sptr>::iterator gr::basic_block_viter_t |
typedef std::vector<block_sptr> gr::block_vector_t |
typedef std::vector<block_sptr>::iterator gr::block_viter_t |
typedef const buffer_type_base& gr::buffer_type |
typedef std::vector<edge> gr::edge_vector_t |
typedef std::vector<edge>::iterator gr::edge_viter_t |
typedef std::vector<endpoint> gr::endpoint_vector_t |
typedef std::vector<endpoint>::iterator gr::endpoint_viter_t |
typedef std::vector<std::reference_wrapper<const buffer_type_base> > gr::gr_vector_buffer_type |
typedef signed long long gr::high_res_timer_type |
Typedef for the timer tick count.
using gr::log_level = typedef spdlog::level::level_enum |
using gr::logger_ptr = typedef std::shared_ptr<logger> |
typedef std::function<void*(void*, const void*, std::size_t)> gr::mem_func_t |
typedef std::vector<msg_edge> gr::msg_edge_vector_t |
typedef std::vector<msg_edge>::iterator gr::msg_edge_viter_t |
|
strong |
enum gr::endianness_t |
enum gr::rt_sched_policy |
enum gr::rt_status_t |
|
strong |
GR_RUNTIME_API const std::string gr::api_version | ( | ) |
return just the api version defined by cmake
GR_RUNTIME_API const char* gr::appdata_path | ( | ) |
directory to store application data
GR_RUNTIME_API long gr::basic_block_ncurrently_allocated | ( | ) |
|
inlinestatic |
GR_RUNTIME_API long gr::block_detail_ncurrently_allocated | ( | ) |
|
inlinestatic |
|
inlinestatic |
References clip().
|
inlinestatic |
Referenced by branchless_quad_0deg_slicer().
|
inlinestatic |
References branchless_quad_0deg_slicer().
|
inlinestatic |
Referenced by branchless_quad_45deg_slicer().
|
inlinestatic |
References branchless_quad_45deg_slicer().
GR_RUNTIME_API buffer_reader_sptr gr::buffer_add_reader | ( | buffer_sptr | buf, |
int | nzero_preload, | ||
block_sptr | link = block_sptr() , |
||
int | delay = 0 |
||
) |
Create a new gr::buffer_reader and attach it to buffer buf
.
buf | is the buffer the gr::buffer_reader reads from. |
nzero_preload | – number of zero items to "preload" into buffer. |
link | is the block that reads from the buffer using this gr::buffer_reader. |
delay | Optional setting to declare the buffer's sample delay. |
GR_RUNTIME_API long gr::buffer_ncurrently_allocated | ( | ) |
returns # of buffers currently allocated
GR_RUNTIME_API long gr::buffer_reader_ncurrently_allocated | ( | ) |
returns # of buffer_readers currently allocated
GR_RUNTIME_API const std::string gr::build_date | ( | ) |
return date/time of build, as set when 'cmake' is run
GR_RUNTIME_API const std::string gr::build_time_enabled_components | ( | ) |
return build-time enabled components
GR_RUNTIME_API const std::string gr::c_compiler | ( | ) |
return C compiler used to build this version of GNU Radio
|
inlinestatic |
Referenced by branchless_clip(), and gr::digital::adaptive_algorithm_cma::error().
GR_RUNTIME_API const std::string gr::compiler_flags | ( | ) |
return C and C++ compiler flags used to build this version of GNU Radio
GR_RUNTIME_API bool gr::configure_default_loggers | ( | gr::logger_ptr & | l, |
gr::logger_ptr & | d, | ||
const std::string & | name | ||
) |
Function to use the GR prefs files to get and setup the two default loggers defined there. The loggers are unique to the class in which they are called, and we pass it the name
to identify where the log message originates from. For a GNU Radio block, we use 'alias()' for this value, and this is set up for us automatically in gr::block.
Referenced by gr::thread::thread_body_wrapper< F >::thread_body_wrapper(), thrift_application_base< TserverBase, TserverClass >::thrift_application_base(), and thrift_server_template< TserverBase, TserverClass, TImplClass >::thrift_server_template().
GR_RUNTIME_API const std::string gr::cxx_compiler | ( | ) |
return C++ compiler used to build this version of GNU Radio
GR_RUNTIME_API std::string gr::dot_graph | ( | hier_block2_sptr | hierblock2 | ) |
Return hierarchical block's flow graph represented in dot language.
std::string gr::dot_graph_fg | ( | flowgraph_sptr | fg | ) |
|
inlinestatic |
References fast_atan2f().
|
inlinestatic |
|
inline |
Get the tick count at the epoch.
References high_res_timer_now(), and high_res_timer_tps().
Referenced by TimeScaleData::setZeroTime().
|
inline |
Get the current time in ticks.
Referenced by high_res_timer_epoch(), and high_res_timer_now_perfmon().
|
inline |
Get the current time in ticks - for performance monitoring.
References high_res_timer_now().
|
inline |
Get the number of ticks per second.
Referenced by high_res_timer_epoch().
|
inlinestatic |
GR_RUNTIME_API const std::string gr::major_version | ( | ) |
return just the major version defined by cmake
GR_RUNTIME_API block_detail_sptr gr::make_block_detail | ( | unsigned int | ninputs, |
unsigned int | noutputs | ||
) |
GR_RUNTIME_API buffer_sptr gr::make_buffer | ( | int | nitems, |
size_t | sizeof_item, | ||
uint64_t | downstream_lcm_nitems, | ||
uint32_t | downstream_max_out_mult, | ||
block_sptr | link = block_sptr() , |
||
block_sptr | buf_owner = block_sptr() |
||
) |
Allocate a buffer that holds at least nitems
of size sizeof_item
.
The total size of the buffer will be rounded up to a system dependent boundary. This is typically the system page size, but under MS windows is 64KB.
nitems | is the minimum number of items the buffer will hold. |
sizeof_item | is the size of an item in bytes. |
downstream_lcm_nitems | is the least common multiple of the items to read by downstream block(s) |
downstream_max_out_mult | is the maximum output multiple of all downstream blocks |
link | is the block that writes to this buffer. |
buf_owner | is the block that owns the buffer which may or may not be the same as the block that writes to this buffer |
Referenced by gr::buftype< classname, factory_class >::make_buffer().
GR_RUNTIME_API flowgraph_sptr gr::make_flowgraph | ( | ) |
GR_RUNTIME_API hier_block2_sptr gr::make_hier_block2 | ( | const std::string & | name, |
gr::io_signature::sptr | input_signature, | ||
gr::io_signature::sptr | output_signature | ||
) |
public constructor for hier_block2
GR_RUNTIME_API top_block_sptr gr::make_top_block | ( | const std::string & | name, |
bool | catch_exceptions = true |
||
) |
GR_RUNTIME_API long gr::message_ncurrently_allocated | ( | ) |
GR_RUNTIME_API const std::string gr::minor_version | ( | ) |
returnjust the minor version defined by cmake
|
inline |
|
inline |
References gr::basic_block::identifier().
GR_RUNTIME_API std::ostream& gr::operator<< | ( | std::ostream & | os, |
const block * | m | ||
) |
|
inline |
References gr::edge::identifier().
|
inline |
References gr::endpoint::identifier().
|
inline |
References gr::edge::identifier().
|
inline |
References gr::msg_endpoint::identifier().
GR_RUNTIME_API std::ostream& gr::operator<< | ( | std::ostream & | os, |
const transfer_type & | type | ||
) |
bool gr::operator== | ( | const io_signature & | lhs, |
const io_signature & | rhs | ||
) |
|
inlinestatic |
|
inlinestatic |
x | any value |
pow2 | must be a power of 2 |
pow2
- (x
modulo pow2
). References p2_modulo().
|
inlinestatic |
x | any value |
pow2 | must be a power of 2 |
x
rounded down to a multiple of pow2
. Referenced by p2_round_up().
|
inlinestatic |
x | any value |
pow2 | must be a power of 2 |
x
rounded up to a multiple of pow2
. References p2_round_down().
GR_RUNTIME_API const std::string gr::prefix | ( | ) |
return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc
GR_RUNTIME_API const std::string gr::prefsdir | ( | ) |
return preferences file directory. Typically ${SYSCONFDIR}/etc/conf.d
GR_RUNTIME_API const std::string gr::pybind_version | ( | ) |
return the pybind11 version used to build this version of GNU Radio
|
inlinestatic |
Referenced by quad_0deg_slicer().
|
inlinestatic |
References quad_0deg_slicer().
|
inlinestatic |
Referenced by quad_45deg_slicer().
|
inlinestatic |
References quad_45deg_slicer().
|
inline |
|
inline |
Referenced by gr_expj(), and gr::nco< o_type, i_type >::sincos().
GR_RUNTIME_API const std::string gr::sysconfdir | ( | ) |
return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc
GR_RUNTIME_API const char* gr::tmp_path | ( | ) |
directory to create temporary files
GR_RUNTIME_API const char* gr::userconf_path | ( | ) |
directory to store user configuration
GR_RUNTIME_API const std::string gr::version | ( | ) |
return version string defined by cmake (GrVersion.cmake)