18 #ifndef INCLUDED_UHD_TRANSPORT_NIRIO_NIRIO_PROXY_IMPL_V1_H 19 #define INCLUDED_UHD_TRANSPORT_NIRIO_NIRIO_PROXY_IMPL_V1_H 21 #include <boost/smart_ptr.hpp> 22 #include <boost/noncopyable.hpp> 27 namespace uhd {
namespace niusrprio
45 static const uint32_t GET32 = 0x00000001;
46 static const uint32_t SET32 = 0x00000002;
47 static const uint32_t SET_DRIVER_CONFIG = 0x00000007;
48 static const uint32_t FIFO = 0x00000008;
49 static const uint32_t IO = 0x0000000A;
50 static const uint32_t FIFO_STOP_ALL = 0x0000000C;
51 static const uint32_t ADD_RESOURCE = 0x0000000D;
52 static const uint32_t GET_STRING = 0x0000000E;
53 static const uint32_t SET_STRING = 0x0000000F;
54 static const uint32_t DOWNLOAD = 0x00000013;
55 static const uint32_t RESET = 0x00000014;
66 static const uint32_t CONFIGURE = 0x80000001;
67 static const uint32_t START = 0x80000002;
68 static const uint32_t STOP = 0x80000003;
69 static const uint32_t READ = 0x80000004;
70 static const uint32_t WRITE = 0x80000005;
71 static const uint32_t WAIT = 0x80000006;
72 static const uint32_t GRANT = 0x80000007;
77 static const uint32_t POKE64 = 0xA0000005;
78 static const uint32_t POKE32 = 0xA0000006;
79 static const uint32_t POKE16 = 0xA0000007;
80 static const uint32_t POKE8 = 0xA0000008;
81 static const uint32_t PEEK64 = 0xA0000009;
82 static const uint32_t PEEK32 = 0xA000000A;
83 static const uint32_t PEEK16 = 0xA000000B;
84 static const uint32_t PEEK8 = 0xA000000C;
85 static const uint32_t READ_BLOCK = 0xA000000D;
86 static const uint32_t WRITE_BLOCK = 0xA000000E;
87 static const uint32_t GET_IO_WINDOW = 0xA000000F;
88 static const uint32_t GET_IO_WINDOW_SIZE = 0xA0000010;
125 } reserved_field_0_0;
130 } reserved_field_0_1;
134 } reserved_field_0_2;
149 uint32_t baseAddress;
150 uint32_t depthInSamples;
229 } memoryMappedIoWindow;
309 uint32_t numberRemaining;
336 uint64_t _64BitField;
337 } memoryMappedIoWindow;
341 } memoryMappedIoWindowSize;
359 uint64_t _64BitField;
375 virtual nirio_status open(
const std::string& interface_path);
376 virtual void close(
void);
387 uint32_t& maintenance,
393 uint32_t& attrValue);
397 const uint32_t value);
399 virtual nirio_status peek(uint32_t offset, uint32_t& value);
401 virtual nirio_status peek(uint32_t offset, uint64_t& value);
403 virtual nirio_status poke(uint32_t offset,
const uint32_t& value);
405 virtual nirio_status poke(uint32_t offset,
const uint64_t& value);
408 uint32_t fifo_instance,
429 uint32_t requested_depth,
430 uint8_t requires_actuals,
431 uint32_t& actual_depth,
432 uint32_t& actual_size);
436 uint32_t elements_requested,
437 uint32_t scalar_type,
442 uint32_t& elements_acquired,
443 uint32_t& elements_remaining);
447 uint32_t elements_to_grant);
451 uint32_t elements_to_read,
453 uint32_t buffer_datatype_width,
454 uint32_t scalar_type,
457 uint32_t& number_read,
458 uint32_t& number_remaining);
462 uint32_t elements_to_write,
464 uint32_t buffer_datatype_width,
465 uint32_t scalar_type,
468 uint32_t& number_remaining);
472 virtual void _close();
476 const void *writeBuffer,
477 size_t writeBufferLength,
479 size_t readBufferLength);
uint32_t outbufByteLen
Definition: niriok_proxy_impl_v1.h:354
Definition: niriok_proxy.h:109
uint8_t value8
Definition: niriok_proxy_impl_v1.h:224
void * memoryMappedAddress
Definition: niriok_proxy_impl_v1.h:335
uint32_t reserved_field_0_1_0
Definition: niriok_proxy_impl_v1.h:128
uint32_t requestedDepth
Definition: niriok_proxy_impl_v1.h:171
uint32_t reserved_field_1_0
Definition: niriok_proxy_impl_v1.h:349
uint32_t value32
Definition: niriok_proxy_impl_v1.h:222
uint32_t subfunction
Definition: niriok_proxy_impl_v1.h:94
uint32_t attribute
Definition: niriok_proxy_impl_v1.h:100
uint32_t version
Definition: niriok_proxy_impl_v1.h:144
nirio_version_t
Definition: niriok_proxy.h:54
Definition: niriok_proxy_impl_v1.h:36
uint32_t reserved_field_2_1
Definition: niriok_proxy_impl_v1.h:235
uint32_t rangeAttribute
Definition: niriok_proxy_impl_v1.h:159
uint32_t rangeSizeInBytes
Definition: niriok_proxy_impl_v1.h:158
uint32_t bitWidth
Definition: niriok_proxy_impl_v1.h:153
uint64_t value
Definition: niriok_proxy_impl_v1.h:107
uint32_t stringLength
Definition: niriok_proxy_impl_v1.h:345
uint32_t sizeToMap
Definition: niriok_proxy_impl_v1.h:228
union uhd::niusrprio::niriok_proxy_impl_v1::nirio_syncop_in_params_t::@3 inbuf
uint32_t numberRemaining
Definition: niriok_proxy_impl_v1.h:305
uint32_t size
Definition: niriok_proxy_impl_v1.h:340
void * pointer
Definition: niriok_proxy_impl_v1.h:315
uint32_t depthInSamples
Definition: niriok_proxy_impl_v1.h:143
Definition: niriok_proxy.h:113
Definition: niriok_proxy_impl_v1.h:64
#define UHD_API
Definition: config.hpp:79
uint64_t rangeBaseAddress
Definition: niriok_proxy_impl_v1.h:157
uint32_t inbufByteLen
Definition: niriok_proxy_impl_v1.h:254
Definition: convert.hpp:28
Definition: niriok_proxy_impl_v1.h:75
uint8_t output
Definition: niriok_proxy_impl_v1.h:200
uint32_t elementsRequested
Definition: niriok_proxy_impl_v1.h:196
uint32_t elements
Definition: niriok_proxy_impl_v1.h:204
uint32_t scalarType
Definition: niriok_proxy_impl_v1.h:152
uint64_t reserved_field_1_0
Definition: niriok_proxy_impl_v1.h:211
Definition: niriok_proxy_impl_v1.h:91
static void init_syncop_in_params(nirio_syncop_in_params_t ¶m, const void *const buf, const uint32_t len)
Definition: niriok_proxy_impl_v1.h:263
Definition: nirio_driver_iface.h:130
int32_t nirio_status
Definition: status.h:31
uint32_t numberRead
Definition: niriok_proxy_impl_v1.h:304
uint32_t channel
Definition: niriok_proxy_impl_v1.h:141
Definition: niriok_proxy_impl_v1.h:43
uint32_t reserved_field_3_0
Definition: niriok_proxy_impl_v1.h:240
uint32_t value
Definition: niriok_proxy_impl_v1.h:101
uint32_t actualSize
Definition: niriok_proxy_impl_v1.h:300
Definition: niriok_proxy.h:146
union uhd::niusrprio::niriok_proxy_impl_v1::nirio_syncop_out_params_t::@34 outbuf
uint32_t value32
Definition: niriok_proxy_impl_v1.h:329
uint32_t actualDepth
Definition: niriok_proxy_impl_v1.h:299
uint32_t reserved_field_0_0_0
Definition: niriok_proxy_impl_v1.h:124
const void * pointer
Definition: niriok_proxy_impl_v1.h:258
uint32_t reserved_field_0_1_1
Definition: niriok_proxy_impl_v1.h:129
Definition: niriok_proxy_impl_v1.h:58
int32_t reserved_field_4_1
Definition: niriok_proxy_impl_v1.h:248
uint64_t value64
Definition: niriok_proxy_impl_v1.h:328
uint16_t value16
Definition: niriok_proxy_impl_v1.h:223
uint8_t value8
Definition: niriok_proxy_impl_v1.h:331
uint64_t _64BitField
Definition: niriok_proxy_impl_v1.h:259
uint64_t value
Definition: niriok_proxy_impl_v1.h:282
uint32_t offset
Definition: niriok_proxy_impl_v1.h:218
uint32_t reserved_field_4_0
Definition: niriok_proxy_impl_v1.h:247
uint16_t value16
Definition: niriok_proxy_impl_v1.h:330
uint32_t reserved_field_1_1
Definition: niriok_proxy_impl_v1.h:212
Definition: niriok_proxy_impl_v1.h:271
uint32_t timeout
Definition: niriok_proxy_impl_v1.h:176
uint32_t baseAddress
Definition: niriok_proxy_impl_v1.h:142
Definition: niriok_proxy.h:110
uint64_t value64
Definition: niriok_proxy_impl_v1.h:221
uint8_t requiresActuals
Definition: niriok_proxy_impl_v1.h:172
static void init_syncop_out_params(nirio_syncop_out_params_t ¶m, void *buf, uint32_t len)
Definition: niriok_proxy_impl_v1.h:364
uint32_t reserved_field_0_2_0
Definition: niriok_proxy_impl_v1.h:133
uint64_t _64BitField
Definition: niriok_proxy_impl_v1.h:316
uint32_t reserved_field_1_2
Definition: niriok_proxy_impl_v1.h:213
uint32_t reserved_field_0_0
Definition: niriok_proxy_impl_v1.h:289
nirio_device_attribute32_t
Definition: niriok_proxy.h:69
uint32_t reserved_field_2_0
Definition: niriok_proxy_impl_v1.h:234
uint32_t value
Definition: niriok_proxy_impl_v1.h:277