-
Notifications
You must be signed in to change notification settings - Fork 50
NI RFmx SpecAn General Functions
- RFmxSpecAn_Initialize
- RFmxSpecAn_SelectMeasurements
- RFmxSpecAn_Initiate
- RFmxSpecAn_Close
- RFmxSpecAn_GetError
- RFmxSpecAn_GetErrorString
int32 __stdcall RFmxSpecAn_Initialize (char resourceName[], char optionString[], niRFmxInstrHandle *handleOut, int32 *isNewSession);
Creates an RFmx session to the device you specify through the resourceName parameter, and returns a handleOut that identifies this device in all subsequent RFmx functions.
This function is a wrapper over the RFmx Instruments API, and calls the RFmxInstr_Initialize) function.
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. 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" |
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". In this mode, user is responsible for waveform acquisition and RFmx driver will perform analysis on user specified IQ waveform or Spectrum. 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. |
---|
To use external NI Source Measure Units (SMU) as the noise source power supply for the noise figure (NF) measurement, use the "NoiseSourcePowerSupply" specifier within the RFmxSetup string. For example, "RFmxSetup= NoiseSourcePowerSupply:myDCPower[0]" configures RFmx to use channel 0 on myDCPower SMU device for powering the noise source. You should allocate a dedicated SMU channel for RFmx. |
---|
Note RFmx supports PXIe-4138, PXIe-4139, and PXIe-4139 (40 W) SMUs. |
---|
Output | ||
Name | Type | Description |
handleOut | niRFmxInstrHandle* | Identifies your instrument session. |
isNewSession | int32* | Returns RFMXSPECAN_VAL_TRUE if the function created a new session, or RFMXSPECAN_VAL_FALSE if the function returned a reference to an existing 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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_SelectMeasurements (niRFmxInstrHandle instrumentHandle, char selectorString[], uInt32 measurements, int32 enableAllTraces);
Enables all the measurements that you specify in the measurements parameter and disables all other measurements.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
measurements | uInt32 | Specifies the measurement to perform. You can specify one or more of the following measurements. |
RFMXSPECAN_VAL_ACP (1) | Enables adjacent channel power (ACP) measurement. |
---|---|
RFMXSPECAN_VAL_CCDF (2) | Enables complementary cumulative distribution function (CCDF) measurement. |
RFMXSPECAN_VAL_CHP (4) | Enables channel power (CHP) measurement. |
RFMXSPECAN_VAL_FCNT (8) | Enables frequency count (FCNT) measurement. |
RFMXSPECAN_VAL_HARMONICS (16) | Enables harmonics measurement. |
RFMXSPECAN_VAL_OBW (32) | Enables occupied bandwidth (OBW) measurement. |
RFMXSPECAN_VAL_SEM (64) | Enables spectral emission mask (SEM) measurement. |
RFMXSPECAN_VAL_SPECTRUM (128) | Enables spectrum measurement. |
RFMXSPECAN_VAL_SPUR (256) | Enables spurious emissions (Spur) measurement. |
RFMXSPECAN_VAL_TXP (512) | Enables transmit power (TXP) measurement. |
RFMXSPECAN_VAL_AMPM (1024) | Enables AMPM measurement. |
RFMXSPECAN_VAL_DPD (2048) | Enables DPD measurement. |
RFMXSPECAN_VAL_IQ (4096) | Enables I/Q measurement. |
RFMXSPECAN_VAL_IM (8192) | Enables IM measurement. |
RFMXSPECAN_VAL_NF (16384) | Enables noise figure (NF) measurement. |
RFMXSPECAN_VAL_PHASENOISE (32768) | Enables noise figure (NF) measurement. |
enableAllTraces | int32 | Specifies whether to enable all the traces for the selected measurements. |
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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_Initiate (niRFmxInstrHandle instrumentHandle, char selectorString[], char resultName[]);
Initiates all enabled measurements. Call this function after configuring the signal and measurement. This function asynchronously launches measurements in the background and immediately returns to the caller program. You can fetch measurement results using the Fetch functions or result attributes. To get the status of measurements, you can use the RFmxSpecAn_CheckMeasurementStatus) function.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Specifies a selector string) comprising of the signal name and result name. The result name can either be specified through this input or the resultName input. If you do not specify the signal name, the default signal instance is used. If you do not specify the result name in this input, either the result name specified by the resultName input or the default result instance is used. Example: "" "signal::sig1" "result::r1" "signal::sig1/result::r1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string. |
resultName | char[] | Specifies the name to be associated with measurement results. Provide a unique name, such as "r1" to enable fetching of multiple measurement results and traces. This input accepts the result name with or without the "result::" prefix. The default value is "" (empty string), which refers to the default result instance. Example: "" "result::r1" "r1" |
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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_Close (niRFmxInstrHandle instrumentHandle, int32 forceDestroy);
Closes the session to the device.
This function is a wrapper over the RFmx Instruments API, and calls the RFmxInstr_Close) function.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
forceDestroy | int32 | Specifies whether to destroy the RFmx session. |
RFMXSPECAN_VAL_FALSE (0) | Destroys the RFmx session. Call the RFmxSpecAn_Close function a number of times equal to the number of times you obtained a reference to the RFmx session. |
---|---|
RFMXSPECAN_VAL_TRUE (1) | Destroys the RFmx session. You do not have to call the RFmxSpecAn_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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_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 RFmxSpecAn_GetErrorString function if the RFmxSpecAn_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. |
errorDescriptionBufferSize | int32 | Passes the number of bytes in the char array you specify in errorDescription. 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. |
Output | ||
Name | Type | Description |
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. |
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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_GetErrorString (niRFmxInstrHandle instrumentHandle, int32 errorCode, int32 errorDescriptionBufferSize, char errorDescription[]);
Converts a status code returned by an RFmxSpecAn 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 RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
errorCode | int32 | Passes the statusOrRequiredSize parameter that is returned from any RFmxSpecAn function. |
errorDescriptionBufferSize | int32 | Passes the number of bytes in the char array you specify in errorDescription. 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. |
Output | ||
Name | Type | Description |
errorDescription | char[] | Returns the user-readable message string that corresponds to the status code you specify. If you pass 0 for errorDescriptionBufferSize, you can pass NULL for the errorDescription buffer parameter to get the size of error description message. |
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 RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions