USRP Hardware Driver and USRP Manual  Version: 003.008.002-0-ge9d11b35
UHD and USRP Manual
niriok_proxy.h File Reference
#include <stdint.h>
#include <boost/smart_ptr.hpp>
#include <boost/noncopyable.hpp>
#include <boost/thread/shared_mutex.hpp>
#include <boost/thread/locks.hpp>
#include <uhd/transport/nirio/nirio_driver_iface.h>
#include <uhd/transport/nirio/nirio_quirks.h>

Go to the source code of this file.

Classes

struct  uhd::niusrprio::nirio_fifo_info_t
 
class  uhd::niusrprio::niriok_proxy
 
struct  uhd::niusrprio::niriok_proxy::nirio_ioctl_packet_t
 
class  uhd::niusrprio::niriok_scoped_addr_space
 

Namespaces

 uhd
 
 uhd::niusrprio
 

Macros

#define NI_VENDOR_NUM   0x1093
 
#define VERSION_BUILD_SHIFT   0
 
#define VERSION_PHASE_SHIFT   14
 
#define VERSION_MAINT_SHIFT   16
 
#define VERSION_UPGRD_SHIFT   20
 
#define VERSION_MAJOR_SHIFT   24
 
#define VERSION_BUILD_MASK   0x00003FFF
 
#define VERSION_PHASE_MASK   0x0000C000
 
#define VERSION_MAINT_MASK   0x000F0000
 
#define VERSION_UPGRD_MASK   0x00F00000
 
#define VERSION_MAJOR_MASK   0xFF000000
 
#define GET_FIFO_MEMORY_TYPE(fifo_inst)   (static_cast<uint16_t>(0x0100 | static_cast<uint16_t>(fifo_inst)))
 
#define READER_LOCK   boost::shared_lock<boost::shared_mutex> reader_lock(_synchronization);
 
#define WRITER_LOCK
 

Typedefs

typedef uint64_t uhd::niusrprio::nirio_u64_t
 
typedef uint32_t uhd::niusrprio::nirio_u32_t
 
typedef uint16_t uhd::niusrprio::nirio_u16_t
 
typedef uint8_t uhd::niusrprio::nirio_u8_t
 
typedef int32_t uhd::niusrprio::nirio_i32_t
 

Enumerations

enum  uhd::niusrprio::nirio_version_t { uhd::niusrprio::CURRENT, uhd::niusrprio::OLDEST_COMPATIBLE }
 
enum  uhd::niusrprio::nirio_addr_space_t { uhd::niusrprio::INVALID = 0, uhd::niusrprio::BUS_INTERFACE = 1, uhd::niusrprio::FPGA = 2, uhd::niusrprio::BAR_WINDOW = 3 }
 
enum  uhd::niusrprio::nirio_device_attribute32_t {
  uhd::niusrprio::RIO_PRODUCT_NUMBER = 2UL, uhd::niusrprio::RIO_CURRENT_VERSION = 14UL, uhd::niusrprio::RIO_OLDEST_COMPATIBLE_VERSION = 15UL, uhd::niusrprio::RIO_ADDRESS_SPACE = 25UL,
  uhd::niusrprio::RIO_IS_FPGA_PROGRAMMED = 48UL, uhd::niusrprio::RIO_FPGA_DEFAULT_SIGNATURE_OFFSET = 53UL
}
 
enum  uhd::niusrprio::nirio_scalar_type_t {
  uhd::niusrprio::RIO_SCALAR_TYPE_IB = 1UL, uhd::niusrprio::RIO_SCALAR_TYPE_IW = 2UL, uhd::niusrprio::RIO_SCALAR_TYPE_IL = 3UL, uhd::niusrprio::RIO_SCALAR_TYPE_IQ = 4UL,
  uhd::niusrprio::RIO_SCALAR_TYPE_UB = 5UL, uhd::niusrprio::RIO_SCALAR_TYPE_UW = 6UL, uhd::niusrprio::RIO_SCALAR_TYPE_UL = 7UL, uhd::niusrprio::RIO_SCALAR_TYPE_UQ = 8UL
}
 
enum  uhd::niusrprio::fifo_direction_t { uhd::niusrprio::INPUT_FIFO, uhd::niusrprio::OUTPUT_FIFO }
 

Macro Definition Documentation

◆ GET_FIFO_MEMORY_TYPE

#define GET_FIFO_MEMORY_TYPE (   fifo_inst)    (static_cast<uint16_t>(0x0100 | static_cast<uint16_t>(fifo_inst)))

◆ NI_VENDOR_NUM

#define NI_VENDOR_NUM   0x1093

◆ READER_LOCK

#define READER_LOCK   boost::shared_lock<boost::shared_mutex> reader_lock(_synchronization);

◆ VERSION_BUILD_MASK

#define VERSION_BUILD_MASK   0x00003FFF

◆ VERSION_BUILD_SHIFT

#define VERSION_BUILD_SHIFT   0

◆ VERSION_MAINT_MASK

#define VERSION_MAINT_MASK   0x000F0000

◆ VERSION_MAINT_SHIFT

#define VERSION_MAINT_SHIFT   16

◆ VERSION_MAJOR_MASK

#define VERSION_MAJOR_MASK   0xFF000000

◆ VERSION_MAJOR_SHIFT

#define VERSION_MAJOR_SHIFT   24

◆ VERSION_PHASE_MASK

#define VERSION_PHASE_MASK   0x0000C000

◆ VERSION_PHASE_SHIFT

#define VERSION_PHASE_SHIFT   14

◆ VERSION_UPGRD_MASK

#define VERSION_UPGRD_MASK   0x00F00000

◆ VERSION_UPGRD_SHIFT

#define VERSION_UPGRD_SHIFT   20

◆ WRITER_LOCK

#define WRITER_LOCK
Value:
boost::upgrade_lock<boost::shared_mutex> write_upgrade_lock(_synchronization);\
boost::upgrade_to_unique_lock<boost::shared_mutex> write_unique_lock(write_upgrade_lock);