NI RFmx Instruments General Functions - ni/grpc-device GitHub Wiki
int32 __stdcall RFmxInstr_Initialize (char resourceName[], char optionString[], niRFmxInstrHandle *handleOut, int32 *isNewSession);
Creates an RFmx session to the signal analyze you specify through the resourceName parameter, and returns a handleOut that identifies this device in all subsequent RFmx functions.
Enabling the SFP (Soft Front Panel) debug has a performance impact. For best performance, NI recommends disabling SFP debug.
On a 64-bit Windows, SFP debug can be enabled/disabled from either the RFmx Soft Front Panel, the RFSA Soft Front Panel, or the RFmx Debug Configuration Utility.
On a 32-bit Windows, SFP debug can be enabled/disabled from the RFSA Soft Front Panel or the RFmx Debug Configuration Utility.
Input | ||
---|---|---|
Name | Type | Description |
resourceName | char[] | Specifies the resource name of the device to initialize. Use comma separated resource names for initializing MIMO session. The following table shows examples of how to specify the resource name. |
Example # | Device Type | Syntax |
---|---|---|
1 | myRFmxDevice | RFmx device, device name is "myRFmxDevice" |
2 | myLogicalName | IVI logical name or virtual instrument, name is "myLogicalName" |
3 | [myRFmxDevice0, myRFmxDevice1.,] | RFmx device, device name is "myRFmxDevice0" |
For NI-DAQmx devices, the syntax is the device name specified in MAX, as shown in Example 1. Typical default names for NI-DAQmx devices in MAX are Dev1 or PXI1Slot2. You can rename an NI-DAQmx device by right-clicking the name in MAX, selecting Rename from the pull-down menu, and entering a new name. You can also pass the name of an IVI logical name configured with the IVI Configuration utility. For additional information about IVI, refer to the IVI section of the Measurement & Automation Explorer Help. |
||
---|---|---|
optionString | char[] |
Sets the initial value of certain attributes for the session. - RFmxSetup - Simulate - AnalysisOnly
To use FPGA extensions, specify the custom LabVIEW FPGA bitfile to use with the bitfile specifier within the RFmxSetup string. For example, "RFmxSetup=bitfile:yourbitfile.lvbitx" specifies that RFmx uses yourbitfile.lvbitx as the LabVIEW FPGA bitfile for the session. To use AnalysisOnly mode, specify the string as "AnalysisOnly=1" or "AnalysisOnly=1;MaxNumWfms:n", where "n" represents the maximum number of waveforms that can be used for the MIMO measurement. In this mode, user is responsible for waveform acquisition and RFmx driver will perform analysis on user specified IQ waveform(s) or Spectrum(s). Use personality specific Analyze functions to perform measurements. |
![]() |
Note To simulate a device using the PXIe-5622 (25 MHz) digitizer, set the Digitizer field to 5622_25MHz_DDC and the Simulate field to 1. You can set the Digitizer field to 5622_25MHz_DDC only when using the PXIe-5665. |
---|
isNewSession | int32* | Returns RFMXInstr_VAL_TRUE if the function created a new session, or RFMXInstr_VAL_FALSE if the function returned a reference to an existing session. |
Output | ||
Name | Type | Description |
handleOut | niRFmxInstrHandle* | Identifies your instrument session. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxInstr_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxInstr_Close (niRFmxInstrHandle instrumentHandle, int32 forceDestroy);
Closes the RFmx session.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the instrument session. This parameter is obtained from the RFmxInstr_Initialize function or the RFmxInstr_InitializeFromNIRFSASessionArray function. |
forceDestroy | int32 | Indicates whether to forcefully destroy the RFmx session. |
RFMXInstr_VAL_FALSE (0) | Destroys the RFmx session only if you call the RFmxInstr_Close function a number of times equal to the number of times you obtained a reference to the RFmx session. |
---|---|
RFMXInstr_VAL_TRUE (1) | Forcefully destroys the RFmx session. You do not have to call the RFmxInstr_Close function multiple times. Destroying the RFmx session invalidates all references to the session. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxInstr_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxInstr_GetError (niRFmxInstrHandle instrumentHandle, int32* errorCode, int32 errorDescriptionBufferSize, char errorDescription[]);
Retrieves and then clears the error information for the session or the current execution thread. You must provide a char array to serve as a buffer for the value. Pass the number of bytes in the buffer as the errorDescriptionBufferSize parameter.
If the error description, including the terminating NULL byte, is larger than the size you indicate in the errorDescriptionBufferSize parameter, the function copies buffer size - 1 bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value. For Example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7.
If you want to call this function just to get the required buffer size, you must pass 0 for errorDescriptionBufferSize and NULL for the errorDescription buffer.
![]() |
Note Use the RFmxInstr_GetErrorString) function if the RFmxInstr_GetError function does not return an error message. |
---|
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Specifies the RFmx session. If a valid session handle is passed, the last error stored in that session is retrieved. You can pass NULL to retrieve the last error stored in the current execution thread. |
errorCode | int32* | Returns the error code for the session or execution thread. If you pass 0 for the errorDescriptionBufferSize parameter, you can pass NULL for the errorCode parameter. |
errorDescriptionBufferSize | int32 | Passes the number of bytes in the char array you specify in the errorDescription parameter. If the error description, including the terminating NULL byte, contains more bytes than you indicate in this parameter, the function copies errorDescriptionBufferSize – 1 bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the size of the buffer that you must pass to get the entire value. For example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7. |
errorDescription | char[] | Returns the error description for the session or execution thread. If there is no description, this function returns an empty string. The buffer must contain at least as many elements as the value you specify with the errorDescriptionBufferSize parameter. |
Name | Type | Description |
---|---|---|
statusOrRequiredSize | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. When the statusOrRequiredSize return value returns the buffer size, the status code is not returned. To obtain a text description of the status code and additional information about the error condition, call the RFmxInstr_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxInstr_GetErrorString (niRFmxInstrHandle instrumentHandle, int32 errorCode, int32 errorDescriptionBufferSize, char errorDescription[]);
Converts a status code returned by an RFmxInstr function into a user-readable string. You must provide a char array to serve as a buffer for the value. Pass the number of bytes in the buffer as the errorDescriptionBufferSize parameter.
If the error description, including the terminating NULL byte, is larger than the size you indicate in the errorDescriptionBufferSize parameter, the function copies buffer size - 1 bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value. For Example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7.
If you want to call this function just to get the required buffer size, you must pass 0 for errorDescriptionBufferSize and NULL for the errorDescription buffer.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the instrument session. This parameter is obtained from the RFmxInstr_Initialize function or the RFmxInstr_InitializeFromNIRFSASessionArray function. |
errorCode | int32 | Passes the statusOrRequiredSize parameter that is returned from any RFmxInstr function. |
errorDescriptionBufferSize | int32 |
Passes the number of bytes in the char array that you specify in the errorDescription array. If the error description, including the terminating NULL byte, contains more bytes than you indicate in this parameter, the function copies (errorDescriptionBufferSize - 1) bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the size of the buffer that you must pass to get the entire value. For example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7. If a valid session handle is passed, this parameter displays the last error stored in that session. You can pass NULL to this parameter to retrieve the last error stored in the current execution thread. |
errorDescription | char[] | Returns the user-readable message string that corresponds to the error code you specify. If you pass 0 for the errorDescriptionBufferSize, you can pass NULL for the errorDescription buffer parameter to get the size of error description message. |
Name | Type | Description |
---|