USRP Hardware Driver and USRP Manual  Version: 4.0.0.0-368-g1b502694e
UHD and USRP Manual
uhd::soft_register_sync_t< reg_data_t, readable, writable > Class Template Reference

#include <uhd/utils/soft_register.hpp>

Inheritance diagram for uhd::soft_register_sync_t< reg_data_t, readable, writable >:
uhd::soft_register_t< reg_data_t, readable, writable > uhd::soft_register_base

Public Types

typedef std::shared_ptr< soft_register_sync_t< reg_data_t, readable, writable > > sptr
 
- Public Types inherited from uhd::soft_register_t< reg_data_t, readable, writable >
typedef std::shared_ptr< soft_register_t< reg_data_t, readable, writable > > sptr
 

Public Member Functions

 soft_register_sync_t (wb_iface::wb_addr_type wr_addr, wb_iface::wb_addr_type rd_addr, soft_reg_flush_mode_t mode=ALWAYS_FLUSH)
 
 soft_register_sync_t (wb_iface::wb_addr_type addr, soft_reg_flush_mode_t mode=ALWAYS_FLUSH)
 
UHD_INLINE void initialize (wb_iface &iface, bool sync=false)
 
UHD_INLINE void set (const soft_reg_field_t field, const reg_data_t value)
 
UHD_INLINE reg_data_t get (const soft_reg_field_t field)
 
UHD_INLINE void flush ()
 
UHD_INLINE void refresh ()
 
UHD_INLINE void write (const soft_reg_field_t field, const reg_data_t value)
 
UHD_INLINE reg_data_t read (const soft_reg_field_t field)
 
- Public Member Functions inherited from uhd::soft_register_t< reg_data_t, readable, writable >
 soft_register_t (wb_iface::wb_addr_type wr_addr, wb_iface::wb_addr_type rd_addr, soft_reg_flush_mode_t mode=ALWAYS_FLUSH)
 
 soft_register_t (wb_iface::wb_addr_type addr, soft_reg_flush_mode_t mode=ALWAYS_FLUSH)
 
UHD_INLINE void set (const soft_reg_field_t field, const reg_data_t value)
 
UHD_INLINE reg_data_t get (const soft_reg_field_t field)
 
UHD_INLINE void write (const soft_reg_field_t field, const reg_data_t value)
 
UHD_INLINE reg_data_t read (const soft_reg_field_t field)
 
UHD_INLINE size_t get_bitwidth ()
 
UHD_INLINE bool is_readable ()
 
UHD_INLINE bool is_writable ()
 
- Public Member Functions inherited from uhd::soft_register_base
virtual ~soft_register_base ()
 

Additional Inherited Members

- Static Public Member Functions inherited from uhd::soft_register_base
template<typename soft_reg_t >
static UHD_INLINE soft_reg_t & cast (soft_register_base &reg)
 
- Static Public Attributes inherited from uhd::soft_register_t< reg_data_t, readable, writable >
static const uhd::soft_reg_field_t REGISTER = ((( 0 & 0xFF) << 8) | ( sizeof(reg_data_t) * 8 & 0xFF))
 

Detailed Description

template<typename reg_data_t, bool readable, bool writable>
class uhd::soft_register_sync_t< reg_data_t, readable, writable >

A synchronized soft register object. All operations in the synchronized register are serialized.

Member Typedef Documentation

◆ sptr

template<typename reg_data_t , bool readable, bool writable>
typedef std::shared_ptr<soft_register_sync_t<reg_data_t, readable, writable> > uhd::soft_register_sync_t< reg_data_t, readable, writable >::sptr

Constructor & Destructor Documentation

◆ soft_register_sync_t() [1/2]

template<typename reg_data_t , bool readable, bool writable>
uhd::soft_register_sync_t< reg_data_t, readable, writable >::soft_register_sync_t ( wb_iface::wb_addr_type  wr_addr,
wb_iface::wb_addr_type  rd_addr,
soft_reg_flush_mode_t  mode = ALWAYS_FLUSH 
)
inline

◆ soft_register_sync_t() [2/2]

template<typename reg_data_t , bool readable, bool writable>
uhd::soft_register_sync_t< reg_data_t, readable, writable >::soft_register_sync_t ( wb_iface::wb_addr_type  addr,
soft_reg_flush_mode_t  mode = ALWAYS_FLUSH 
)
inlineexplicit

Member Function Documentation

◆ flush()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE void uhd::soft_register_sync_t< reg_data_t, readable, writable >::flush ( )
inlinevirtual

Write the contents of the soft-copy to hardware.

Reimplemented from uhd::soft_register_t< reg_data_t, readable, writable >.

◆ get()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE reg_data_t uhd::soft_register_sync_t< reg_data_t, readable, writable >::get ( const soft_reg_field_t  field)
inline

◆ initialize()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE void uhd::soft_register_sync_t< reg_data_t, readable, writable >::initialize ( wb_iface iface,
bool  sync = false 
)
inlinevirtual

Initialize the register when the underlying bus is usable. Can be optionally synced with hardware. NOTE: Memory management of the iface is up to the caller

Reimplemented from uhd::soft_register_t< reg_data_t, readable, writable >.

◆ read()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE reg_data_t uhd::soft_register_sync_t< reg_data_t, readable, writable >::read ( const soft_reg_field_t  field)
inline

◆ refresh()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE void uhd::soft_register_sync_t< reg_data_t, readable, writable >::refresh ( )
inlinevirtual

Read the contents of the register from hardware and update the soft copy.

Reimplemented from uhd::soft_register_t< reg_data_t, readable, writable >.

◆ set()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE void uhd::soft_register_sync_t< reg_data_t, readable, writable >::set ( const soft_reg_field_t  field,
const reg_data_t  value 
)
inline

◆ write()

template<typename reg_data_t , bool readable, bool writable>
UHD_INLINE void uhd::soft_register_sync_t< reg_data_t, readable, writable >::write ( const soft_reg_field_t  field,
const reg_data_t  value 
)
inline

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