Skip to content

NI FGEN Peer to Peer Attributes

Palash Khare edited this page Jun 4, 2021 · 1 revision

P2P Attributes

NIFGEN_ATTRIBUTE_P2P_ENABLED

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150391 ViBoolean R/W Endpoint None None

Description

Specifies whether the signal generator reads data from the peer-to-peer endpoint, as opposed to the typical method of reading it from the onboard memory. This attribute is endpoint-based.

Defined Values

VI_TRUE Peer-to-peer data streaming is enabled.
VI_FALSE Peer-to-peer data streaming is disabled.

Default Value: VI_FALSE

NIFGEN_ATTRIBUTE_P2P_DESTINATION_CHANNELS

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150392 ViString R/W Endpoint None None

Description

Specifies which channels are written to by a peer-to-peer endpoint. If multiple channels are specified, data is deinterleaved to each channel. Channels are configured using the niFgen_ConfigureChannels function. This attribute is endpoint-based.

Default Value: "" (all channels are configured)

NIFGEN_ATTRIBUTE_P2P_ENDPOINT_SIZE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150393 ViInt32 RO Endpoint None None

Description

Returns the size, in samples per channel, of the peer-to-peer endpoint. This attribute is endpoint-based.

NIFGEN_ATTRIBUTE_P2P_SPACE_AVAILABLE_IN_ENDPOINT

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150394 ViInt32 RO Endpoint None None

Description

Returns the current space available in the endpoint in samples per channel. You can use this attribute when priming the endpoint with initial data through the niFgen_WriteP2PEndpointI16 function to determine how many samples you can write. You can also use this attribute to characterize the performance and measure the latency of the peer-to-peer stream as data moves across the bus. This attribute is endpoint-based.

NIFGEN_ATTRIBUTE_P2P_MOST_SPACE_AVAILABLE_IN_ENDPOINT

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150395 ViInt32 RO Endpoint None None

Description

Returns the largest number of samples per channel available in the endpoint since this attribute was last read. Use this attribute to determine how much endpoint space to use as a buffer against PCI Express bus traffic latencies by reading the attribute and keeping track of the largest value returned. This attribute is endpoint-based.

If you wish to minimize the latency for data to move through the endpoint and be generated by the signal generator, use the NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_INITIAL_CREDITS attribute to grant fewer initial credits than the default of the entire endpoint size.

NIFGEN_ATTRIBUTE_P2P_ENDPOINT_COUNT

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150396 ViInt32 RO Channel None None

Description

Returns the number of peer-to-peer FIFO endpoints supported by the device.

NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_INTERVAL

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150400 ViInt32 R/W Endpoint Yes None

Description

Specifies the interval, in samples per channel, at which the signal generator issues credits to allow the writer peer to transfer data over the bus into the configured endpoint. Refer to the Flow Control topic in the NI Signal Generators Help for more information. This attribute is coerced up by NI-FGEN to the nearest 128 byte boundary. This attribute is endpoint-based.

Default Value: 1,024 samples per channel

NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_INITIAL_CREDITS

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150408 ViInt32 R/W Endpoint Yes None

Description

Specifies the initial amount of data, in samples per channel, that the writer peer is allowed to transfer over the bus into the configured endpoint when the peer-to-peer data stream is enabled. If you do not set this property and the endpoint is empty, credits equal to the full size of the endpoint are issued to the writer peer. If data has been written to the endpoint using the niFgen_WriteP2PEndpointI16 function prior to enabling the stream, credits equal to the remaining space available in the endpoint are issued to the writer peer. This attribute is coerced up by NI-FGEN to 8-byte boundaries.

NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150397 ViBoolean R/W Channel None None

Description

Enables/disables manual configuration for a peer-to-peer endpoint. Enabling this attribute disables automatic NI-P2P stream manager flow control and Done Notifications.

NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_ADDRESS

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150398 ViInt64 WO Endpoint None None

Description

Indicates the address in the writer peer to which the signal generator should send data transfer permission credits. This attribute is endpoint-based.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_ADDRESS_TYPE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150399 ViInt32 R/W Endpoint None None

Description

Specifies the type of address for the NIFGEN_ATTRIBUTE_P2P_DATA_TRANSFER_PERMISSION_ADDRESS attribute. This attribute is endpoint-based.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

Defined Values

NIFGEN_VAL_PHYSICAL Specifies a physical memory address.
NIFGEN_VAL_VIRTUAL Specifies a virtual memory address.

Default Value: NIFGEN_VAL_VIRTUAL

NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150401 ViInt64 RO Endpoint None None

Description

Specifies the signal generator address where endpoint data is sent by the writer peer. The type of this address is specified by the NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS_TYPE attribute. This attribute is endpoint-based.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS_TYPE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150402 ViInt32 R/W Endpoint None None

Description

Specifies the type of the NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS attribute. This attribute is endpoint-based.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

Defined Values

NIFGEN_VAL_PHYSICAL Specifies a physical memory address.
NIFGEN_VAL_VIRTUAL Specifies a virtual memory address.

Default Value: NIFGEN_VAL_VIRTUAL

NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_SIZE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150403 ViInt32 RO Endpoint None None

Description

Specifies the size, in bytes, of the endpoint window. The endpoint window is also described by the NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS and NIFGEN_ATTRIBUTE_P2P_ENDPOINT_WINDOW_ADDRESS_TYPE attributes. This attribute is endpoint-based.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_ADDRESS

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150405 ViInt64 RO Endpoint None None

Description

Specifies the signal generator address to which the writer peer sends the NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_VALUE. This attribute is endpoint-based. Refer to the Stopping a Peer-to-Peer Generation topic in the NI Signal Generators Help for more information about using this attribute.

Note:  You can use this attribute only when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_ADDRESS_TYPE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150406 ViInt32 R/W Endpoint None None

Description

Specifies the address type of the NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_ADDRESS attribute. This attribute is endpoint-based. Refer to the Stopping a Peer-to-Peer Generation topic in the NI Signal Generators Help for more information about using this attribute.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

Defined Values

NIFGEN_VAL_PHYSICAL Specifies a physical memory address.
NIFGEN_VAL_VIRTUAL Specifies a virtual memory address.

Default Value: NIFGEN_VAL_VIRTUAL

NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_VALUE

Specific Attribute

Numeric Value Data Type Access Applies to Coercion High-Level Functions
1150407 ViInt32 RO Endpoint None None

Description

Specifies the value the writer peer should write to the address specified by the NIFGEN_ATTRIBUTE_P2P_DONE_NOTIFICATION_ADDRESS attribute. This attribute is endpoint-based. Refer to the Stopping a Peer-to-Peer Generation topic in the NI Signal Generators Help for more information about using this attribute.

Note:  You can only use this attribute when the NIFGEN_ATTRIBUTE_P2P_MANUAL_CONFIGURATION_ENABLED attribute is set to VI_TRUE.

Table of Contents

Internal Development

Creating and Setting Up a gRPC Server

Server Security Support

Creating a gRPC Client

gRPC Client Examples

Session Utilities API Reference

Driver Documentation

gRPC API Differences From C API

Sharing Driver Sessions Between Clients

C API Docs
NI-DAQmx
NI-DCPOWER
NI-DIGITAL PATTERN DRIVER
NI-DMM
NI-FGEN
NI-FPGA
NI-RFmx Bluetooth
NI-RFmx NR
NI-RFmx WCDMA
NI-RFmx GSM
NI-RFmx CDMA2k
NI-RFmx Instr
NI-RFmx LTE
NI-RFmx SpecAn
NI-RFmx TD-SCDMA
NI-RFmx WLAN
NI-RFSA
NI-RFSG
NI-SCOPE
NI-SWITCH
NI-TCLK
NI-XNET
Clone this wiki locally