GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
gr::iio::fmcomms5_source_f32c Class Reference

Device specific source for the FMComms5 evaluation card. More...

#include <gnuradio/iio/fmcomms5_source.h>

Public Types

typedef std::shared_ptr< fmcomms5_source_f32csptr
 
- Public Types inherited from gr::hier_block2
typedef basic_block_sptr opaque_self
 typedef for object returned from self(). More...
 

Public Member Functions

void set_params (unsigned long long frequency1, unsigned long long frequency2, unsigned long samplerate, unsigned long bandwidth, bool quadrature, bool rfdc, bool bbdc, const char *gain1, double gain1_value, const char *gain2, double gain2_value, const char *gain3, double gain3_value, const char *gain4, double gain4_value, const char *rf_port_select, const char *filter_source, const char *filter_filename, float Fpass, float Fstop)
 
- Public Member Functions inherited from gr::hier_block2
 ~hier_block2 () override
 
opaque_self self ()
 Return an object, representing the current block, which can be passed to connect. More...
 
void connect (basic_block_sptr block)
 Add a stand-alone (possibly hierarchical) block to internal graph. More...
 
void connect (basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
 Add gr-blocks or hierarchical blocks to internal graph and wire together. More...
 
void msg_connect (basic_block_sptr src, pmt::pmt_t srcport, basic_block_sptr dst, pmt::pmt_t dstport)
 Add gr-blocks or hierarchical blocks to internal graph and wire together. More...
 
void msg_connect (basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
 
void msg_disconnect (basic_block_sptr src, pmt::pmt_t srcport, basic_block_sptr dst, pmt::pmt_t dstport)
 
void msg_disconnect (basic_block_sptr src, std::string srcport, basic_block_sptr dst, std::string dstport)
 
void disconnect (basic_block_sptr block)
 Remove a gr-block or hierarchical block from the internal flowgraph. More...
 
void disconnect (basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port)
 Disconnect a pair of gr-blocks or hierarchical blocks in internal flowgraph. More...
 
void disconnect_all ()
 Disconnect all connections in the internal flowgraph. More...
 
virtual void lock ()
 
virtual void unlock ()
 
int max_output_buffer (size_t port=0)
 Returns max buffer size (itemcount) on output port i. More...
 
void set_max_output_buffer (int max_output_buffer)
 Sets max buffer size (itemcount) on all output ports. More...
 
void set_max_output_buffer (size_t port, int max_output_buffer)
 Sets max buffer size (itemcount) on output port port. More...
 
int min_output_buffer (size_t port=0)
 Returns min buffer size (itemcount) on output port i. More...
 
void set_min_output_buffer (int min_output_buffer)
 Sets min buffer size (itemcount) on all output ports. More...
 
void set_min_output_buffer (size_t port, int min_output_buffer)
 Sets min buffer size (itemcount) on output port port. More...
 
flat_flowgraph_sptr flatten () const
 
hier_block2_sptr to_hier_block2 ()
 
bool has_msg_port (pmt::pmt_t which_port) override
 
bool message_port_is_hier (pmt::pmt_t port_id) override
 
bool message_port_is_hier_in (pmt::pmt_t port_id) override
 
bool message_port_is_hier_out (pmt::pmt_t port_id) override
 
void message_port_register_hier_in (pmt::pmt_t port_id)
 
void message_port_register_hier_out (pmt::pmt_t port_id)
 
void set_processor_affinity (const std::vector< int > &mask) override
 Set the affinity of all blocks in hier_block2 to processor core n. More...
 
void unset_processor_affinity () override
 Remove processor affinity for all blocks in hier_block2. More...
 
std::vector< int > processor_affinity () override
 Get the current processor affinity. More...
 
void set_log_level (const std::string &level) override
 Set the logger's output level. More...
 
std::string log_level () override
 Get the logger's output level. More...
 
bool all_min_output_buffer_p (void)
 Get if all block min buffers should be set. More...
 
bool all_max_output_buffer_p (void)
 Get if all block max buffers should be set. More...
 
- Public Member Functions inherited from gr::basic_block
pmt::pmt_t message_subscribers (pmt::pmt_t port)
 
 ~basic_block () override
 
long unique_id () const
 
long symbolic_id () const
 
std::string name () const
 
std::string symbol_name () const
 
std::string identifier () const
 
gr::io_signature::sptr input_signature () const
 
gr::io_signature::sptr output_signature () const
 
basic_block_sptr to_basic_block ()
 
bool alias_set () const
 
std::string alias () const
 
pmt::pmt_t alias_pmt () const
 
void set_block_alias (std::string name)
 
void message_port_register_in (pmt::pmt_t port_id)
 
void message_port_register_out (pmt::pmt_t port_id)
 
void message_port_pub (pmt::pmt_t port_id, pmt::pmt_t msg)
 
void message_port_sub (pmt::pmt_t port_id, pmt::pmt_t target)
 
void message_port_unsub (pmt::pmt_t port_id, pmt::pmt_t target)
 
virtual bool message_port_is_hier (pmt::pmt_t port_id)
 
virtual bool message_port_is_hier_in (pmt::pmt_t port_id)
 
virtual bool message_port_is_hier_out (pmt::pmt_t port_id)
 
pmt::pmt_t message_ports_in ()
 Get input message port names. More...
 
pmt::pmt_t message_ports_out ()
 Get output message port names. More...
 
void _post (pmt::pmt_t which_port, pmt::pmt_t msg)
 
bool empty_p (pmt::pmt_t which_port)
 is the queue empty? More...
 
bool empty_p ()
 
bool empty_handled_p (pmt::pmt_t which_port)
 are all msg ports with handlers empty? More...
 
bool empty_handled_p ()
 
size_t nmsgs (pmt::pmt_t which_port)
 How many messages in the queue? More...
 
void insert_tail (pmt::pmt_t which_port, pmt::pmt_t msg)
 
pmt::pmt_t delete_head_nowait (pmt::pmt_t which_port)
 
msg_queue_t::iterator get_iterator (pmt::pmt_t which_port)
 
void erase_msg (pmt::pmt_t which_port, msg_queue_t::iterator it)
 
virtual bool has_msg_port (pmt::pmt_t which_port)
 
const msg_queue_map_t & get_msg_map (void) const
 
virtual void setup_rpc ()
 Set up the RPC registered variables. More...
 
bool is_rpc_set ()
 Ask if this block has been registered to the RPC. More...
 
void rpc_set ()
 When the block is registered with the RPC, set this. More...
 
virtual bool check_topology (int ninputs, int noutputs)
 Confirm that ninputs and noutputs is an acceptable combination. More...
 
template<typename T >
void set_msg_handler (pmt::pmt_t which_port, T msg_handler)
 Set the callback that is fired when messages are available. More...
 
virtual void set_processor_affinity (const std::vector< int > &mask)=0
 
virtual void unset_processor_affinity ()=0
 
virtual std::vector< int > processor_affinity ()=0
 
virtual void set_log_level (const std::string &level)=0
 
virtual std::string log_level ()=0
 
- Public Member Functions inherited from gr::msg_accepter
 msg_accepter ()
 
 ~msg_accepter () override
 
void post (pmt::pmt_t which_port, pmt::pmt_t msg) override
 send msg to msg_accepter on port which_port More...
 
- Public Member Functions inherited from gr::messages::msg_accepter
 msg_accepter ()
 
virtual ~msg_accepter ()
 
virtual void post (pmt::pmt_t which_port, pmt::pmt_t msg)=0
 send msg to msg_accepter on port which_port More...
 

Static Public Member Functions

static sptr make (const std::string &uri, unsigned long long frequency1, unsigned long long frequency2, unsigned long samplerate, unsigned long bandwidth, bool rx1_en, bool rx2_en, bool rx3_en, bool rx4_en, unsigned long buffer_size, bool quadrature, bool rfdc, bool bbdc, const char *gain1, double gain1_value, const char *gain2, double gain2_value, const char *gain3, double gain3_value, const char *gain4, double gain4_value, const char *rf_port_select, const char *filter_source="", const char *filter_filename="", float Fpass=0.0, float Fstop=0.0)
 Return a shared_ptr to a new instance of iio::device. More...
 

Protected Member Functions

 fmcomms5_source_f32c (bool rx1_en, bool rx2_en, bool rx3_en, bool rx4_en, fmcomms5_source::sptr block)
 
- Protected Member Functions inherited from gr::hier_block2
 hier_block2 ()
 
 hier_block2 (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature)
 
- Protected Member Functions inherited from gr::basic_block
 basic_block (void)
 
 basic_block (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature)
 Protected constructor prevents instantiation by non-derived classes. More...
 
void set_input_signature (gr::io_signature::sptr iosig)
 may only be called during constructor More...
 
void set_output_signature (gr::io_signature::sptr iosig)
 may only be called during constructor More...
 
void set_color (vcolor color)
 Allow the flowgraph to set for sorting and partitioning. More...
 
vcolor color () const
 
virtual bool has_msg_handler (pmt::pmt_t which_port)
 Tests if there is a handler attached to port which_port. More...
 
virtual void dispatch_msg (pmt::pmt_t which_port, pmt::pmt_t msg)
 
template<typename Derived >
std::shared_ptr< Derived > shared_from_base ()
 This is meant to be called by derived classes (e.g. block) to get a shared pointer internally. This is needed because std::enable_shared_from_this doesn't seem to work with derived classes in an inheritance hierarchy. More...
 

Additional Inherited Members

- Public Attributes inherited from gr::hier_block2
pmt::pmt_t hier_message_ports_in
 
pmt::pmt_t hier_message_ports_out
 
- Protected Types inherited from gr::basic_block
enum  vcolor { WHITE , GREY , BLACK }
 
- Protected Attributes inherited from gr::basic_block
std::string d_name
 
gr::io_signature::sptr d_input_signature
 
gr::io_signature::sptr d_output_signature
 
long d_unique_id
 
long d_symbolic_id
 
std::string d_symbol_name
 
std::string d_symbol_alias
 
vcolor d_color
 
bool d_rpc_set
 
gr::logger_ptr d_logger
 
gr::logger_ptr d_debug_logger
 Default logger. More...
 
msg_queue_map_t msg_queue
 Verbose logger. More...
 
std::vector< rpcbasic_sptr > d_rpc_vars
 
pmt::pmt_t d_message_subscribers
 

Detailed Description

Device specific source for the FMComms5 evaluation card.

This block is a source specifically designed for FMComms5 evaluation card. The FMComms5 is a dual AD9361 FMC card which enables 4x4 applications.

Member Typedef Documentation

◆ sptr

Constructor & Destructor Documentation

◆ fmcomms5_source_f32c()

gr::iio::fmcomms5_source_f32c::fmcomms5_source_f32c ( bool  rx1_en,
bool  rx2_en,
bool  rx3_en,
bool  rx4_en,
fmcomms5_source::sptr  block 
)
explicitprotected

Member Function Documentation

◆ make()

static sptr gr::iio::fmcomms5_source_f32c::make ( const std::string &  uri,
unsigned long long  frequency1,
unsigned long long  frequency2,
unsigned long  samplerate,
unsigned long  bandwidth,
bool  rx1_en,
bool  rx2_en,
bool  rx3_en,
bool  rx4_en,
unsigned long  buffer_size,
bool  quadrature,
bool  rfdc,
bool  bbdc,
const char *  gain1,
double  gain1_value,
const char *  gain2,
double  gain2_value,
const char *  gain3,
double  gain3_value,
const char *  gain4,
double  gain4_value,
const char *  rf_port_select,
const char *  filter_source = "",
const char *  filter_filename = "",
float  Fpass = 0.0,
float  Fstop = 0.0 
)
inlinestatic

Return a shared_ptr to a new instance of iio::device.

Parameters
uriString of the context uri
frequency1Long long of LO frequency in Hz of chip A
frequency2Long long of LO frequency in Hz of chip A
samplerateLong of sample rate in samples per second
bandwidthLong of bandwidth of front-end analog filter in in Hz
rx1_enBoolean enable channel 1
rx2_enBoolean enable channel 2
rx3_enBoolean enable channel 3
rx4_enBoolean enable channel 4
quadratureBoolean enable RX quadrature tracking
rfdcBoolean enable RX RF DC tracking
bbdcBoolean enable RX Baseband DC tracking
buffer_sizeLong of number of samples in buffer to send to device
rf_port_selectString of name of port to use for TX output mux with options:
  • 'A_BALANCED'
  • 'B_BALANCED'
  • 'C_BALANCED'
  • 'A_N'
  • 'A_P'
  • 'B_N'
  • 'B_P'
  • 'C_N'
  • 'C_P'
  • 'TX_MONITOR1'
  • 'TX_MONITOR2'
  • 'TX_MONITOR1_2'
gain1String of gain mode for channel 1 with options:
  • 'manual'
  • 'slow_attack'
  • 'fast_attack'
  • 'hybrid'
gain1_valueDouble of RX channel 1 gain in dB [0, 76]
gain2String of gain mode for channel 2 with options:
  • 'manual'
  • 'slow_attack'
  • 'fast_attack'
  • 'hybrid'
gain2_valueDouble of RX channel 2 gain in dB [0, 76]
gain3String of gain mode for channel 3 with options:
  • 'manual'
  • 'slow_attack'
  • 'fast_attack'
  • 'hybrid'
gain3_valueDouble of RX channel 3 gain in dB [0, 76]
gain4String of gain mode for channel 4 with options:
  • 'manual'
  • 'slow_attack'
  • 'fast_attack'
  • 'hybrid'
gain4_valueDouble of RX channel 4 gain in dB [0, 76]
filter_sourceString which selects filter configuration with options:
  • 'Off': Disable filter
  • 'Auto': Use auto-generated filters
  • 'File': Use provide filter filter in filter_filename input
  • 'Design': Create filter from Fpass, Fstop, samplerate, and bandwidth parameters
filter_filenameString of path to filter file
FpassFloat of edge of passband frequency in Hz for designed FIR
FstopFloat of edge of stopband frequency in Hz for designed FIR

References gr::iio::fmcomms5_source::make().

◆ set_params()

void gr::iio::fmcomms5_source_f32c::set_params ( unsigned long long  frequency1,
unsigned long long  frequency2,
unsigned long  samplerate,
unsigned long  bandwidth,
bool  quadrature,
bool  rfdc,
bool  bbdc,
const char *  gain1,
double  gain1_value,
const char *  gain2,
double  gain2_value,
const char *  gain3,
double  gain3_value,
const char *  gain4,
double  gain4_value,
const char *  rf_port_select,
const char *  filter_source,
const char *  filter_filename,
float  Fpass,
float  Fstop 
)
inline

The documentation for this class was generated from the following file: