Skip to content

NI FGEN Script Output Functions

Palash Khare edited this page Jun 8, 2021 · 2 revisions

Script Output Functions

niFgen_AllocateNamedWaveform

ViStatus niFgen_AllocateNamedWaveform (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 waveformSize);

Purpose

Specifies the size of a named waveform up front so that it can be allocated in onboard memory before loading the associated data. Data can then be loaded in smaller blocks with the niFgen Write (Binary16) Waveform functions.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel name for which you want to allocate the named waveform.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
waveformSize ViInt32

Specifies the size of the waveform to allocate in samples.

Default Value: "4096"

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_SetNamedWaveformNextWritePosition

ViStatus niFgen_SetNamedWaveformNextWritePosition (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 relativeto, ViInt32 offset);

Purpose

Sets the position in the waveform to which data is written at the next write. This function allows you to write to arbitrary locations within the waveform. These settings apply only to the next write to the waveform specified by the waveformHandle parameter. Subsequent writes to that waveform begin where the last write left off, unless this function is called again. The waveformHandle passed in must have been created with a call to one of the following functions:

  • niFgen_AllocateWaveform
  • niFgen_CreateWaveformF64
  • niFgen_CreateWaveformI16
  • niFgen_CreateWaveformFromFileI16
  • niFgen_CreateWaveformFromFileF64
  • niFgen_CreateWaveformFromFileHWS

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the waveform data should be loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
relativeTo ViInt32

Specifies the reference position in the waveform. This position and offset together determine where to start loading data into the waveform.

Defined Values

NIFGEN_VAL_WAVEFORM_POSITION_START (0) Use the start of the waveform as the reference position.
NIFGEN_VAL_WAVEFORM_POSITION_CURRENT (1) Use the current position within the waveform as the reference position.
Name Type Description
offset ViInt32 Specifies the offset from the relativeTo parameter at which to start loading the data into the waveform.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_WriteNamedWaveformF64

ViStatus niFgen_WriteNamedWaveformF64 (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 size, ViReal64[] data);

Purpose

Writes floating-point data to the waveform in onboard memory. The waveform handle passed in must have been created by a call to the niFgen_AllocateWaveform function or to one of the following niFgen Create Waveform functions:

  • niFgen_CreateWaveformF64
  • niFgen_CreateWaveformI16
  • niFgen_CreateWaveformFromFileI16
  • niFgen_CreateWaveformFromFileF64
  • niFgen_CreateWaveformFromFileHWS

By default, the subsequent call to the niFgen_WriteNamedWaveformF64 function continues writing data from the position of the last sample written. You can set the write position and offset by calling the niFgen_SetNamedWaveformNextWritePosition function. If streaming is enabled, you can write more data than the allocated waveform size in onboard memory. Refer to the Streaming topic for more information about streaming data.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the waveform data should be loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
size ViInt32

Specifies the number of samples to load into the waveform.

Default Value: 0

data ViReal64 [] Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in size.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_WriteNamedWaveformI16

ViStatus niFgen_WriteNamedWaveformI16 (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 size, ViInt16[] data);

Purpose

Writes binary data to the named waveform in onboard memory.

By default, the subsequent call to the niFgen_WriteNamedWaveformI16 function continues writing data from the position of the last sample written. You can set the write position and offset by calling the niFgen_SetNamedWaveformNextWritePosition function. If streaming is enabled, you can write more data than the allocated waveform size in onboard memory. Refer to the Streaming topic for more information about streaming data.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the waveform data should be loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
size ViInt32

Specifies the number of samples to load into the waveform.

Default Value: 0

data ViInt16 [] Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in size.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_WriteNamedWaveformComplexF64

ViStatus niFgen_WriteNamedWaveformComplexF64 (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 size, NIComplexNumber[] data);

Purpose

Writes complex floating–point data to the named waveform in onboard memory on devices with the NIFGEN_ATTRIBUTE_OSP_ENABLED attribute set to VI_TRUE and the NIFGEN_ATTRIBUTE_OSP_DATA_PROCESSING_MODE attribute set to NIFGEN_VAL_OSP_COMPLEX. The waveform handle passed in must have been created by a call to the niFgen_AllocateWaveform function or to one of the following niFgen Create Waveform functions:

  • niFgen_CreateWaveformF64
  • niFgen_CreateWaveformI16
  • niFgen_CreateWaveformFromFileI16
  • niFgen_CreateWaveformFromFileF64
  • niFgen_CreateWaveformFromFileHWS

By default, the subsequent call to the niFgen_WriteNamedWaveformComplexF64 function continues writing data from the position of the last sample written. You can set the write position and offset by calling the niFgen_SetNamedWaveformNextWritePosition function. If streaming is enabled, you can write more data than the allocated waveform size in onboard memory. Refer to the Streaming topic for more information about streaming data.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the waveform data should be loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
size ViInt32

Specifies the number of samples to load into the waveform.

Default Value: 0

data NIComplexNumber [] Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in size.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_WriteNamedComplexWaveformI16

ViStatus niFgen_WriteNamedComplexWaveformI16 (ViSession vi, ViConstString channelName, ViConstString waveformName, ViInt32 size, NIComplexI16[] data);

Purpose

Writes complex binary data to the named waveform in onboard memory on devices with the NIFGEN_ATTRIBUTE_OSP_ENABLED attribute set to VI_TRUE and the NIFGEN_ATTRIBUTE_OSP_DATA_PROCESSING_MODE attribute set to NIFGEN_VAL_OSP_COMPLEX. The waveform handle passed in must have been created by a call to the niFgen_AllocateWaveform function or to one of the following niFgen Create Waveform functions:

  • niFgen_CreateWaveformF64
  • niFgen_CreateWaveformI16
  • niFgen_CreateWaveformFromFileI16
  • niFgen_CreateWaveformFromFileF64
  • niFgen_CreateWaveformFromFileHWS

By default, the subsequent call to the niFgen_WriteNamedWaveformComplexi16 function continues writing data from the position of the last sample written. You can set the write position and offset by calling the niFgen_SetNamedWaveformNextWritePosition function. If streaming is enabled, you can write more data than the allocated waveform size in onboard memory. Refer to the Streaming topic for more information about streaming data.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the waveform data should be loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.
size ViInt32

Specifies the number of samples to load into the waveform.

Default Value: 0

data NIComplexI16 [] Specifies the array of data to load into the waveform. The array must have at least as many elements as the value in size.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_DeleteNamedWaveform

ViStatus niFgen_DeleteNamedWaveform (ViSession vi, ViConstString channelName, ViConstString waveformName);

Purpose

Removes a previously created arbitrary waveform from the signal generator memory and invalidates the waveform handle.

Note:  The signal generator must not be in the Generating state when you call this function.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the named waveform is loaded.

Default Value: "0"

waveformName ViConstString Specifies the name to associate with the allocated waveform.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_WriteScript

ViStatus niFgen_WriteScript (ViSession vi, ViConstString channelName, ViConstString script);

Purpose

Writes a string containing one or more scripts that govern the generation of waveforms.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel on which the script is loaded.

Default Value: "0"

script ViConstString Contains the text of the script you want to use for your generation operation. Refer to Scripting Instructions for more information about writing scripts.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_DeleteScript

ViStatus niFgen_DeleteScript (ViSession vi, ViConstString channelName, ViConstString scriptName);

Purpose

Deletes the specified script from onboard memory.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
channelName ViConstString

Specifies the channel onto which the script is loaded.

Default Value: "0"

scriptName ViConstString Specifies the name of the script you want to delete. The script name appears in the text of the script following the script keyword.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

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