GNU Radio 3.4.0 C++ API
Miscellaneous

Classes

class  gri_goertzel
 Implements Goertzel single-bin DFT calculation. More...
class  gr_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. It's slow. Don't use it in a performance critical path. More...
class  gr_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. It's slow. Don't use it in a performance critical path. More...
class  gr_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. It's slow. Don't use it in a performance critical path. More...
class  gr_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. It's slow. Don't use it in a performance critical path. More...
class  gr_fxpt
 fixed point sine and cosine and friends.fixed pt radians More...
class  gr_fxpt_nco
 Numerically Controlled Oscillator (NCO) More...
class  gr_fxpt_vco
 Voltage Controlled Oscillator (VCO) More...
class  gr_nco< o_type, i_type >
 base class template for Numerically Controlled Oscillator (NCO) More...
class  gr_prefs
 Base class for representing user preferences a la windows INI files.The real implementation is in Python, and is accessable from C++ via the magic of SWIG directors. More...
class  gr_test
 Test class for testing runtime system (setting up buffers and such.)This block does not do any usefull actual data processing. It just exposes setting all standard block parameters using the contructor or public methods. More...
class  gr_vco< o_type, i_type >
 base class template for Voltage Controlled Oscillator (VCO) More...
class  gri_fft_complex
 FFT: complex in, complex out. More...
class  gri_fft_real_fwd
 FFT: real in, complex out. More...
class  gri_fft_real_rev
 FFT: complex in, float out. More...
class  gri_glfsr
 Galois Linear Feedback Shift Register using specified polynomial maskGenerates a maximal length pseudo-random sequence of length 2^degree-1. More...
class  gri_lfsr
 Fibonacci Linear Feedback Shift Register using specified polynomial maskGenerates a maximal length pseudo-random sequence of length 2^degree-1. More...
class  gri_lfsr_15_1_0
 Linear Feedback Shift Register using primitive polynomial x^15 + x + 1Generates a maximal length pseudo-random sequence of length 2^15 - 1 bits. More...
class  gri_lfsr_32k
 generate pseudo-random sequence of length 32768 bits.This is based on gri_lfsr_15_1_0 with an extra 0 added at the end of the sequence. More...
class  gr_message
 Message class. More...
class  gr_msg_queue
 thread-safe message queue More...

Functions

unsigned int gr_update_crc32 (unsigned int crc, const unsigned char *buf, size_t len)
 update running CRC-32Update a running CRC with the bytes buf[0..len-1] The CRC should be initialized to all 1's, and the transmitted value is the 1's complement of the final running CRC. The resulting CRC should be transmitted in big endian order.
float gr_fast_atan2f (float y, float x)
 Fast arc tangent using table lookup and linear interpolation.
gr_rt_status_t gr_enable_realtime_scheduling ()
 If possible, enable high-priority "real time" scheduling.
gr_timer_sptr gr_make_timer (gr_timer_hook, void *)
 create a timeout.
rt_status_t gruel::enable_realtime_scheduling (rt_sched_param=rt_sched_param())
 If possible, enable "realtime" scheduling.In general, this means that the code will be scheduled before any non-realtime (normal) processes. Note that if your code contains an non-blocking infinite loop and you enable realtime scheduling, it's possible to hang the system.

Function Documentation

rt_status_t gruel::enable_realtime_scheduling ( rt_sched_param  = rt_sched_param())

If possible, enable "realtime" scheduling.In general, this means that the code will be scheduled before any non-realtime (normal) processes. Note that if your code contains an non-blocking infinite loop and you enable realtime scheduling, it's possible to hang the system.

gr_rt_status_t gr_enable_realtime_scheduling ( )

If possible, enable high-priority "real time" scheduling.

float gr_fast_atan2f ( float  y,
float  x 
)

Fast arc tangent using table lookup and linear interpolation.

Parameters:
ycomponent of input vector
xcomponent of input vector
Returns:
float angle angle of vector (x, y) in radians

This function calculates the angle of the vector (x,y) based on a table lookup and linear interpolation. The table uses a 256 point table covering -45 to +45 degrees and uses symetry to determine the final angle value in the range of -180 to 180 degrees. Note that this function uses the small angle approximation for values close to zero. This routine calculates the arc tangent with an average error of +/- 0.045 degrees.

Referenced by gr_fast_atan2f().

gr_timer_sptr gr_make_timer ( gr_timer_hook  ,
void *   
)

create a timeout.

gr_timer_hook is called when timer fires.

unsigned int gr_update_crc32 ( unsigned int  crc,
const unsigned char *  buf,
size_t  len 
)

update running CRC-32Update a running CRC with the bytes buf[0..len-1] The CRC should be initialized to all 1's, and the transmitted value is the 1's complement of the final running CRC. The resulting CRC should be transmitted in big endian order.