GNU Radio Manual and C++ API Reference  3.8.1.0
The Free & Open Software Radio Ecosystem
gr Namespace Reference

GNU Radio logging wrapper for log4cpp library (C++ port of log4j) More...

Namespaces

 analog
 
 audio
 
 blocks
 
 channels
 
 digital
 
 dtv
 
 fec
 
 fft
 
 filter
 
 impl
 
 messages
 
 qtgui
 
 thread
 
 trellis
 
 uhd
 
 video_sdl
 
 vocoder
 
 wavelet
 
 zeromq
 

Classes

class  basic_block
 The abstract base class for all signal processing blocks.Basic blocks are the bare abstraction of an entity that has a name, a set of inputs and outputs, and a message queue. These are never instantiated directly; rather, this is the abstract parent class of both gr_hier_block, which is a recursive container, and block, which implements actual signal processing functions. More...
 
class  block
 The abstract base class for all 'terminal' processing blocks.A signal processing flow is constructed by creating a tree of hierarchical blocks, which at any level may also contain terminal nodes that actually implement signal processing functions. This is the base class for all such leaf nodes. More...
 
class  block_detail
 Implementation details to support the signal processing abstractionThis class contains implementation detail that should be "out of sight" of almost all users of GNU Radio. This decoupling also means that we can make changes to the guts without having to recompile everything. More...
 
class  block_gateway
 
struct  block_gw_message_type
 
class  block_registry
 
class  buffer
 Single writer, multiple reader fifo. More...
 
class  buffer_reader
 How we keep track of the readers of a gr::buffer. More...
 
class  edge
 Class representing a connection between to graph endpoints. More...
 
class  endpoint
 Class representing a specific input or output graph endpoint. More...
 
class  feval
 base class for evaluating a function: void -> voidThis class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's "director" feature to implement the magic. More...
 
class  feval_cc
 base class for evaluating a function: complex -> complexThis class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's "director" feature to implement the magic. More...
 
class  feval_dd
 base class for evaluating a function: double -> doubleThis class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's "director" feature to implement the magic. More...
 
class  feval_ll
 base class for evaluating a function: long -> longThis class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's "director" feature to implement the magic. More...
 
class  feval_p
 base class for evaluating a function: pmt -> voidThis class is designed to be subclassed in Python or C++ and is callable from both places. It uses SWIG's "director" feature to implement the magic. More...
 
class  flowgraph
 Class representing a directed, acyclic graph of basic blocks. More...
 
class  fxpt
 fixed point sine and cosine and friends.fixed pt radians


-2**31 -pi 0 0 2**31-1 pi - epsilon 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  io_signature
 i/o signature for input and output ports. More...
 
class  logger
 Logger class for referencing loggers in python. Not needed in C++ (use macros) Wraps and manipulates loggers for python as python has no macros. More...
 
class  logger_config
 Class to control configuration of logger. This is a singleton that can launch a thread to watch a config file for changes. 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_edge
 Class representing a msg connection between to graph msg endpoints. More...
 
class  msg_endpoint
 
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.The real implementation is in Python, and is accessible from C++ via the magic of SWIG directors. More...
 
class  py_feval
 
class  py_feval_cc
 
class  py_feval_dd
 
class  py_feval_ll
 
class  py_feval_p
 
class  random
 pseudo random number generator More...
 
class  sync_block
 synchronous 1:1 input to output with historyOverride work to provide the signal processing implementation. More...
 
class  sync_decimator
 synchronous N:1 input to output with historyOverride work to provide the signal processing implementation. More...
 
class  sync_interpolator
 synchronous 1:N input to output with historyOverride work to provide the signal processing implementation. More...
 
class  tag_checker
 
struct  tag_t
 
class  tagged_stream_block
 Block that operates on PDUs in form of tagged streamsOverride work to provide the signal processing implementation. More...
 
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::vector< endpointendpoint_vector_t
 
typedef std::vector< endpoint >::iterator endpoint_viter_t
 
typedef std::vector< edgeedge_vector_t
 
typedef std::vector< edge >::iterator edge_viter_t
 
typedef std::vector< msg_edgemsg_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...
 
typedef log4cpp::Category * logger_ptr
 GR_LOG macrosThese macros wrap the standard LOG4CPP_LEVEL macros. The availablie macros are: LOG_DEBUG LOG_INFO LOG_WARN LOG_TRACE LOG_ERROR LOG_ALERT LOG_CRIT LOG_FATAL LOG_EMERG. More...
 
typedef std::map< std::string, std::map< std::string, std::string > > config_map_t
 
typedef std::map< std::string, std::map< std::string, std::string > >::iterator config_map_itr
 
typedef std::map< std::string, std::string > config_map_elem_t
 
typedef std::map< std::string, std::string >::iterator config_map_elem_itr
 

Enumerations

enum  block_gw_work_type { GR_BLOCK_GW_WORK_GENERAL, GR_BLOCK_GW_WORK_SYNC, GR_BLOCK_GW_WORK_DECIM, GR_BLOCK_GW_WORK_INTERP }
 
enum  block_gw_work_return_type { WORK_CALLED_PRODUCE = -2, WORK_DONE = -1 }
 Magic return values from general_work, gr::block::WORK_CALLED_PRODUCE. More...
 
enum  tag_propagation_policy_t { TPP_DONT = 0, TPP_ALL_TO_ALL = 1, TPP_ONE_TO_ONE = 2, TPP_CUSTOM = 3 }
 
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 }
 

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, block_sptr link=block_sptr())
 Allocate a buffer that holds at least nitems of size sizeof_item. 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_ncurrently_allocated ()
 returns # of buffers currently allocated 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 double feval_dd_example (feval_dd *f, double x)
 trivial examples / test cases showing C++ calling Python code More...
 
GR_RUNTIME_API gr_complex feval_cc_example (feval_cc *f, gr_complex x)
 
GR_RUNTIME_API long feval_ll_example (feval_ll *f, long x)
 
GR_RUNTIME_API void feval_example (feval *f)
 
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...
 
GR_RUNTIME_API logger_ptr logger_get_logger (std::string name)
 Retrieve a pointer to a logger by name. More...
 
GR_RUNTIME_API bool logger_load_config (const std::string &config_filename="")
 Load logger's configuration file. More...
 
GR_RUNTIME_API void logger_reset_config (void)
 Reset logger's configuration file. More...
 
GR_RUNTIME_API void logger_set_level (logger_ptr logger, const std::string &level)
 Set the logger's output level. More...
 
GR_RUNTIME_API void logger_set_level (logger_ptr logger, log4cpp::Priority::Value level)
 Set the logger's output level. More...
 
GR_RUNTIME_API void logger_get_level (logger_ptr logger, std::string &level)
 Get the logger's output level. More...
 
GR_RUNTIME_API void logger_get_level (logger_ptr logger, log4cpp::Priority::Value &level)
 Get the logger's output level. More...
 
GR_RUNTIME_API void logger_add_appender (logger_ptr logger, std::string appender)
 Add console appender to a given logger. More...
 
GR_RUNTIME_API void logger_set_appender (logger_ptr logger, std::string appender)
 Sets a console appender to a given logger. Deletes any existing appenders and adds a new one. To add an additional appender, use logger_add_appender. More...
 
GR_RUNTIME_API void logger_add_console_appender (logger_ptr logger, std::string target, std::string pattern)
 Add console appender to a given logger. More...
 
GR_RUNTIME_API void logger_set_console_appender (logger_ptr logger, std::string target, std::string pattern)
 Sets a new console appender to a given logger after removing all others. Use logger_add_console_appender to add another. More...
 
GR_RUNTIME_API void logger_add_file_appender (logger_ptr logger, std::string filename, bool append, std::string pattern)
 Add file appender to a given logger. More...
 
GR_RUNTIME_API void logger_set_file_appender (logger_ptr logger, std::string filename, bool append, std::string pattern)
 Set a file appender to a given logger. To add another file appender, use logger_add_file_appender. More...
 
GR_RUNTIME_API void logger_add_rollingfile_appender (logger_ptr logger, std::string filename, size_t filesize, int bkup_index, bool append, mode_t mode, std::string pattern)
 Add rolling file appender to a given logger. More...
 
GR_RUNTIME_API std::vector< std::string > logger_get_logger_names (void)
 Add rolling file appender to a given logger. More...
 
GR_RUNTIME_API bool configure_default_loggers (gr::logger_ptr &l, gr::logger_ptr &d, const std::string name)
 
GR_RUNTIME_API bool update_logger_alias (const std::string &name, const std::string &alias)
 
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...
 
GR_RUNTIME_API void sincos (double x, double *sin, double *cos)
 
GR_RUNTIME_API void sincosf (float x, float *sin, float *cos)
 
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)
 

Detailed Description

GNU Radio logging wrapper for log4cpp library (C++ port of log4j)

System independent way to ask for realtime scheduling.

Include this header to use the message passing features.

Typedef Documentation

◆ basic_block_vector_t

typedef std::vector<basic_block_sptr> gr::basic_block_vector_t

◆ basic_block_viter_t

typedef std::vector<basic_block_sptr>::iterator gr::basic_block_viter_t

◆ block_vector_t

typedef std::vector<block_sptr> gr::block_vector_t

◆ block_viter_t

typedef std::vector<block_sptr>::iterator gr::block_viter_t

◆ config_map_elem_itr

typedef std::map<std::string, std::string>::iterator gr::config_map_elem_itr

◆ config_map_elem_t

typedef std::map<std::string, std::string> gr::config_map_elem_t

◆ config_map_itr

typedef std::map<std::string, std::map<std::string, std::string> >::iterator gr::config_map_itr

◆ config_map_t

typedef std::map<std::string, std::map<std::string, std::string> > gr::config_map_t

◆ edge_vector_t

typedef std::vector<edge> gr::edge_vector_t

◆ edge_viter_t

typedef std::vector<edge>::iterator gr::edge_viter_t

◆ endpoint_vector_t

typedef std::vector<endpoint> gr::endpoint_vector_t

◆ endpoint_viter_t

typedef std::vector<endpoint>::iterator gr::endpoint_viter_t

◆ high_res_timer_type

typedef signed long long gr::high_res_timer_type

Typedef for the timer tick count.

◆ logger_ptr

typedef log4cpp::Category* gr::logger_ptr

GR_LOG macrosThese macros wrap the standard LOG4CPP_LEVEL macros. The availablie macros are: LOG_DEBUG LOG_INFO LOG_WARN LOG_TRACE LOG_ERROR LOG_ALERT LOG_CRIT LOG_FATAL LOG_EMERG.

◆ msg_edge_vector_t

typedef std::vector<msg_edge> gr::msg_edge_vector_t

◆ msg_edge_viter_t

typedef std::vector<msg_edge>::iterator gr::msg_edge_viter_t

Enumeration Type Documentation

◆ block_gw_work_return_type

Magic return values from general_work, gr::block::WORK_CALLED_PRODUCE.

Enumerator
WORK_CALLED_PRODUCE 
WORK_DONE 

◆ block_gw_work_type

The work type enum tells the gateway what kind of block to implement. The choices are familiar gnuradio block overloads (sync, decim, interp).

Enumerator
GR_BLOCK_GW_WORK_GENERAL 
GR_BLOCK_GW_WORK_SYNC 
GR_BLOCK_GW_WORK_DECIM 
GR_BLOCK_GW_WORK_INTERP 

◆ endianness_t

Enumerator
GR_MSB_FIRST 
GR_LSB_FIRST 

◆ rt_sched_policy

Enumerator
RT_SCHED_RR 
RT_SCHED_FIFO 

◆ rt_status_t

Enumerator
RT_OK 
RT_NOT_IMPLEMENTED 
RT_NO_PRIVS 
RT_OTHER_ERROR 

◆ tag_propagation_policy_t

Enumerator
TPP_DONT 
TPP_ALL_TO_ALL 
TPP_ONE_TO_ONE 
TPP_CUSTOM 

Function Documentation

◆ api_version()

GR_RUNTIME_API const std::string gr::api_version ( )

return just the api version defined by cmake

◆ appdata_path()

GR_RUNTIME_API const char* gr::appdata_path ( )

directory to store application data

◆ basic_block_ncurrently_allocated()

GR_RUNTIME_API long gr::basic_block_ncurrently_allocated ( )

◆ binary_slicer()

static unsigned int gr::binary_slicer ( float  x)
inlinestatic

◆ block_detail_ncurrently_allocated()

GR_RUNTIME_API long gr::block_detail_ncurrently_allocated ( )

◆ branchless_binary_slicer()

static unsigned int gr::branchless_binary_slicer ( float  x)
inlinestatic

◆ branchless_clip()

static float gr::branchless_clip ( float  x,
float  clip 
)
inlinestatic

◆ branchless_quad_0deg_slicer() [1/2]

static unsigned int gr::branchless_quad_0deg_slicer ( float  r,
float  i 
)
inlinestatic

◆ branchless_quad_0deg_slicer() [2/2]

static unsigned int gr::branchless_quad_0deg_slicer ( gr_complex  x)
inlinestatic

◆ branchless_quad_45deg_slicer() [1/2]

static unsigned int gr::branchless_quad_45deg_slicer ( float  r,
float  i 
)
inlinestatic

◆ branchless_quad_45deg_slicer() [2/2]

static unsigned int gr::branchless_quad_45deg_slicer ( gr_complex  x)
inlinestatic

◆ buffer_add_reader()

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.

Parameters
bufis the buffer the gr::buffer_reader reads from.
nzero_preload– number of zero items to "preload" into buffer.
linkis the block that reads from the buffer using this gr::buffer_reader.
delayOptional setting to declare the buffer's sample delay.

◆ buffer_ncurrently_allocated()

GR_RUNTIME_API long gr::buffer_ncurrently_allocated ( )

returns # of buffers currently allocated

◆ buffer_reader_ncurrently_allocated()

GR_RUNTIME_API long gr::buffer_reader_ncurrently_allocated ( )

returns # of buffer_readers currently allocated

◆ build_date()

GR_RUNTIME_API const std::string gr::build_date ( )

return date/time of build, as set when 'cmake' is run

◆ build_time_enabled_components()

GR_RUNTIME_API const std::string gr::build_time_enabled_components ( )

return build-time enabled components

◆ c_compiler()

GR_RUNTIME_API const std::string gr::c_compiler ( )

return C compiler used to build this version of GNU Radio

◆ clip()

static float gr::clip ( float  x,
float  clip 
)
inlinestatic

◆ compiler_flags()

GR_RUNTIME_API const std::string gr::compiler_flags ( )

return C and C++ compiler flags used to build this version of GNU Radio

◆ configure_default_loggers()

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::logger::add_rollingfile_appender(), thrift_application_base< TserverBase, TImplClass >::thrift_application_base(), and thrift_server_template< rpcserver_base, rpcserver_thrift, rpcserver_booter_thrift >::thrift_server_template().

◆ cxx_compiler()

GR_RUNTIME_API const std::string gr::cxx_compiler ( )

return C++ compiler used to build this version of GNU Radio

◆ dot_graph()

GR_RUNTIME_API std::string gr::dot_graph ( hier_block2_sptr  hierblock2)

Return hierarchical block's flow graph represented in dot language.

Referenced by gr::hier_block2::message_port_register_hier_out().

◆ dot_graph_fg()

std::string gr::dot_graph_fg ( flowgraph_sptr  fg)

Referenced by operator<<().

◆ fast_atan2f()

static float gr::fast_atan2f ( gr_complex  z)
inlinestatic

References fast_atan2f().

◆ feval_cc_example()

GR_RUNTIME_API gr_complex gr::feval_cc_example ( feval_cc f,
gr_complex  x 
)

Referenced by gr::feval_p::feval_p().

◆ feval_dd_example()

GR_RUNTIME_API double gr::feval_dd_example ( feval_dd f,
double  x 
)

trivial examples / test cases showing C++ calling Python code

Referenced by gr::feval_p::feval_p().

◆ feval_example()

GR_RUNTIME_API void gr::feval_example ( feval f)

Referenced by gr::feval_p::feval_p().

◆ feval_ll_example()

GR_RUNTIME_API long gr::feval_ll_example ( feval_ll f,
long  x 
)

Referenced by gr::feval_p::feval_p().

◆ high_res_timer_epoch()

gr::high_res_timer_type gr::high_res_timer_epoch ( void  )
inline

Get the tick count at the epoch.

References high_res_timer_now(), and high_res_timer_tps().

Referenced by TimeScaleData::setZeroTime().

◆ high_res_timer_now()

gr::high_res_timer_type gr::high_res_timer_now ( void  )
inline

Get the current time in ticks.

Referenced by high_res_timer_epoch(), and high_res_timer_now_perfmon().

◆ high_res_timer_now_perfmon()

gr::high_res_timer_type gr::high_res_timer_now_perfmon ( void  )
inline

Get the current time in ticks - for performance monitoring.

References high_res_timer_now().

◆ high_res_timer_tps()

gr::high_res_timer_type gr::high_res_timer_tps ( void  )
inline

Get the number of ticks per second.

Referenced by high_res_timer_epoch().

◆ is_power_of_2()

static bool gr::is_power_of_2 ( long  x)
inlinestatic

References fast_atan2f(), and GR_RUNTIME_API.

◆ logger_add_appender()

GR_RUNTIME_API void gr::logger_add_appender ( logger_ptr  logger,
std::string  appender 
)

Add console appender to a given logger.

Add console appender to a given logger

Parameters
loggerLogger to which appender will be added
appenderName of appender to add to logger

◆ logger_add_console_appender()

GR_RUNTIME_API void gr::logger_add_console_appender ( logger_ptr  logger,
std::string  target,
std::string  pattern 
)

Add console appender to a given logger.

Add console appender to a given logger

Parameters
loggerLogger to which appender will be added
targetStd target to write 'cout' or 'cerr' (default is cout)
patternFormatting pattern for log messages

◆ logger_add_file_appender()

GR_RUNTIME_API void gr::logger_add_file_appender ( logger_ptr  logger,
std::string  filename,
bool  append,
std::string  pattern 
)

Add file appender to a given logger.

Add file appender to a given logger

Parameters
loggerLogger to which appender will be added
filenameFile to which log will be written
appendOverwrite or append to log file
patternFormatting pattern for log messages

◆ logger_add_rollingfile_appender()

GR_RUNTIME_API void gr::logger_add_rollingfile_appender ( logger_ptr  logger,
std::string  filename,
size_t  filesize,
int  bkup_index,
bool  append,
mode_t  mode,
std::string  pattern 
)

Add rolling file appender to a given logger.

Add rolling file appender to a given logger

Parameters
loggerLogger to which appender will be added
filenameFile to which log will be written
filesizeSizez of files to write
bkup_indexNumber of files to write
appendOverwrite or append to log file
modePermissions to set on log file
patternFormatting pattern for log messages

◆ logger_get_level() [1/2]

GR_RUNTIME_API void gr::logger_get_level ( logger_ptr  logger,
std::string &  level 
)

Get the logger's output level.

Gets the level of the logger. This returns a string that corresponds to the standard levels and can be (case insensitive):

  • notset
  • debug
  • info
  • notice
  • warn
  • error
  • crit
  • alert
  • fatal
  • emerg
Parameters
loggerthe logger to get the level of.
levelstring to get the level into.

◆ logger_get_level() [2/2]

GR_RUNTIME_API void gr::logger_get_level ( logger_ptr  logger,
log4cpp::Priority::Value &  level 
)

Get the logger's output level.

Gets the level of the logger. This returns the actual Log4cpp::Level data type, which can be:

  • log4cpp::Priority::NOTSET
  • log4cpp::Priority::DEBUG
  • log4cpp::Priority::INFO
  • log4cpp::Priority::NOTICE
  • log4cpp::Priority::WARN
  • log4cpp::Priority::ERROR
  • log4cpp::Priority::CRIT
  • log4cpp::Priority::ALERT
  • log4cpp::Priority::FATAL
  • log4cpp::Priority::EMERG
Parameters
loggerthe logger to get the level of.
levelof the logger.

◆ logger_get_logger()

GR_RUNTIME_API logger_ptr gr::logger_get_logger ( std::string  name)

Retrieve a pointer to a logger by name.

Retrieves a logger pointer name.

Parameters
nameName of the logger for which a pointer is requested

◆ logger_get_logger_names()

GR_RUNTIME_API std::vector<std::string> gr::logger_get_logger_names ( void  )

Add rolling file appender to a given logger.

Add rolling file appender to a given logger

Returns
vector of string names of loggers

◆ logger_load_config()

GR_RUNTIME_API bool gr::logger_load_config ( const std::string &  config_filename = "")

Load logger's configuration file.

Initialize the GNU Radio logger by loading the configuration file config_filename.

Parameters
config_filenameThe configuration file. Set to "" for the basic logger that outputs to the console.

◆ logger_reset_config()

GR_RUNTIME_API void gr::logger_reset_config ( void  )

Reset logger's configuration file.

Remove all appenders from loggers

◆ logger_set_appender()

GR_RUNTIME_API void gr::logger_set_appender ( logger_ptr  logger,
std::string  appender 
)

Sets a console appender to a given logger. Deletes any existing appenders and adds a new one. To add an additional appender, use logger_add_appender.

Parameters
loggerLogger to which appender will be added
appenderName of appender to add to logger

◆ logger_set_console_appender()

GR_RUNTIME_API void gr::logger_set_console_appender ( logger_ptr  logger,
std::string  target,
std::string  pattern 
)

Sets a new console appender to a given logger after removing all others. Use logger_add_console_appender to add another.

Parameters
loggerLogger to which appender will be added
targetStd target to write 'cout' or 'cerr' (default is cout)
patternFormatting pattern for log messages

◆ logger_set_file_appender()

GR_RUNTIME_API void gr::logger_set_file_appender ( logger_ptr  logger,
std::string  filename,
bool  append,
std::string  pattern 
)

Set a file appender to a given logger. To add another file appender, use logger_add_file_appender.

Parameters
loggerLogger to which appender will be added
filenameFile to which log will be written
appendOverwrite or append to log file
patternFormatting pattern for log messages

◆ logger_set_level() [1/2]

GR_RUNTIME_API void gr::logger_set_level ( logger_ptr  logger,
const std::string &  level 
)

Set the logger's output level.

Sets the level of the logger. This takes a string that is translated to the standard levels and can be (case insensitive):

  • off , notset
  • debug
  • info
  • notice
  • warn
  • error
  • crit
  • alert
  • fatal
  • emerg
Parameters
loggerthe logger to set the level of.
levelstring to set the level to.

◆ logger_set_level() [2/2]

GR_RUNTIME_API void gr::logger_set_level ( logger_ptr  logger,
log4cpp::Priority::Value  level 
)

Set the logger's output level.

Sets the level of the logger. This takes the actual Log4cpp::Priority data type, which can be:

  • log4cpp::Priority::NOTSET
  • log4cpp::Priority::DEBUG
  • log4cpp::Priority::INFO
  • log4cpp::Priority::NOTICE
  • log4cpp::Priority::WARN
  • log4cpp::Priority::ERROR
  • log4cpp::Priority::CRIT
  • log4cpp::Priority::ALERT
  • log4cpp::Priority::FATAL
  • log4cpp::Priority::EMERG
Parameters
loggerthe logger to set the level of.
levelnew logger level of type Log4cpp::Priority

◆ major_version()

GR_RUNTIME_API const std::string gr::major_version ( )

return just the major version defined by cmake

◆ make_block_detail()

GR_RUNTIME_API block_detail_sptr gr::make_block_detail ( unsigned int  ninputs,
unsigned int  noutputs 
)

◆ make_buffer()

GR_RUNTIME_API buffer_sptr gr::make_buffer ( int  nitems,
size_t  sizeof_item,
block_sptr  link = 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.

Parameters
nitemsis the minimum number of items the buffer will hold.
sizeof_itemis the size of an item in bytes.
linkis the block that writes to this buffer.

◆ make_flowgraph()

GR_RUNTIME_API flowgraph_sptr gr::make_flowgraph ( )

◆ make_hier_block2()

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

◆ make_top_block()

GR_RUNTIME_API top_block_sptr gr::make_top_block ( const std::string &  name)

◆ message_ncurrently_allocated()

GR_RUNTIME_API long gr::message_ncurrently_allocated ( )

Referenced by gr::message::length().

◆ minor_version()

GR_RUNTIME_API const std::string gr::minor_version ( )

returnjust the minor version defined by cmake

◆ operator<()

bool gr::operator< ( basic_block_sptr  lhs,
basic_block_sptr  rhs 
)
inline

◆ operator<<() [1/6]

std::ostream& gr::operator<< ( std::ostream &  os,
const endpoint  endp 
)
inline

◆ operator<<() [2/6]

std::ostream& gr::operator<< ( std::ostream &  os,
const edge  edge 
)
inline

◆ operator<<() [3/6]

std::ostream& gr::operator<< ( std::ostream &  os,
const msg_endpoint  endp 
)
inline

◆ operator<<() [4/6]

std::ostream& gr::operator<< ( std::ostream &  os,
const msg_edge  edge 
)
inline

◆ operator<<() [5/6]

std::ostream& gr::operator<< ( std::ostream &  os,
basic_block_sptr  basic_block 
)
inline

Referenced by pmt::acons().

◆ operator<<() [6/6]

GR_RUNTIME_API std::ostream& gr::operator<< ( std::ostream &  os,
const block m 
)

◆ p2_modulo()

static size_t gr::p2_modulo ( size_t  x,
size_t  pow2 
)
inlinestatic
Parameters
xany value
pow2must be a power of 2
Returns
x modulo pow2.

Referenced by p2_modulo_neg().

◆ p2_modulo_neg()

static size_t gr::p2_modulo_neg ( size_t  x,
size_t  pow2 
)
inlinestatic
Parameters
xany value
pow2must be a power of 2
Returns
pow2 - (x modulo pow2).

References p2_modulo().

◆ p2_round_down()

static size_t gr::p2_round_down ( size_t  x,
size_t  pow2 
)
inlinestatic
Parameters
xany value
pow2must be a power of 2
Returns
x rounded down to a multiple of pow2.

Referenced by p2_round_up().

◆ p2_round_up()

static size_t gr::p2_round_up ( size_t  x,
size_t  pow2 
)
inlinestatic
Parameters
xany value
pow2must be a power of 2
Returns
x rounded up to a multiple of pow2.

References p2_round_down().

◆ prefix()

GR_RUNTIME_API const std::string gr::prefix ( )

return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc

◆ prefsdir()

GR_RUNTIME_API const std::string gr::prefsdir ( )

return preferences file directory. Typically ${SYSCONFDIR}/etc/conf.d

◆ quad_0deg_slicer() [1/2]

static unsigned int gr::quad_0deg_slicer ( float  r,
float  i 
)
inlinestatic

Referenced by quad_0deg_slicer().

◆ quad_0deg_slicer() [2/2]

static unsigned int gr::quad_0deg_slicer ( gr_complex  x)
inlinestatic

References quad_0deg_slicer().

◆ quad_45deg_slicer() [1/2]

static unsigned int gr::quad_45deg_slicer ( float  r,
float  i 
)
inlinestatic

Referenced by quad_45deg_slicer().

◆ quad_45deg_slicer() [2/2]

static unsigned int gr::quad_45deg_slicer ( gr_complex  x)
inlinestatic

References quad_45deg_slicer().

◆ sincos()

GR_RUNTIME_API void gr::sincos ( double  x,
double *  sin,
double *  cos 
)

◆ sincosf()

GR_RUNTIME_API void gr::sincosf ( float  x,
float *  sin,
float *  cos 
)

◆ sysconfdir()

GR_RUNTIME_API const std::string gr::sysconfdir ( )

return SYSCONFDIR. Typically ${CMAKE_INSTALL_PREFIX}/etc or /etc

◆ tmp_path()

GR_RUNTIME_API const char* gr::tmp_path ( )

directory to create temporary files

◆ update_logger_alias()

GR_RUNTIME_API bool gr::update_logger_alias ( const std::string &  name,
const std::string &  alias 
)

◆ userconf_path()

GR_RUNTIME_API const char* gr::userconf_path ( )

directory to store user configuration

◆ version()

GR_RUNTIME_API const std::string gr::version ( )

return version string defined by cmake (GrVersion.cmake)