ivi.fgen --- Function Generator class

This module provides the base functionality for Function Generators.

Functions and Exceptions

exception ivi.fgen.IviException

Exception raised on various occasions; argument is a string describing what is wrong.

Base class

class ivi.fgen.Base(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Base IVI methods for all function generators

ivi.fgen.abort_generation

Aborts a previously initiated signal generation. If the function generator is in the Output Generation State, this function moves the function generator to the Configuration State. If the function generator is already in the Configuration State, the function does nothing and returns Success.

This specification requires that the user be able to configure the output of the function generator regardless of whether the function generator is in the Configuration State or the Generation State. This means that the user is not required to call Abort Generation prior to configuring the output of the function generator.

Many function generators constantly generate an output signal, and do not require the user to abort signal generation prior to configuring the instrument. If a function generator's output cannot be aborted (i.e., the function generator cannot stop generating a signal) this function does nothing and returns Success.

Some function generators require that the user abort signal generation prior to configuring the instrument. The specific drivers for these types of instruments must compensate for this restriction and allow the user to configure the instrument without requiring the user to call Abort Generation. For these types of instruments, there is often a significant performance increase if the user configures the output while the instrument is not generating a signal.

The user is not required to call Abort Generation or Initiate Generation. Whether the user chooses to call these functions in an application program has no impact on interchangeability. The user can choose to use these functions if they want to optimize their application for instruments that exhibit increased performance when output configuration is performed while the instrument is not generating a signal.

ivi.fgen.initiate_generation

Initiates signal generation. If the function generator is in the Configuration State, this function moves the function generator to the Output Generation State. If the function generator is already in the Output Generation State, this function does nothing and returns Success.

This specification requires that the instrument be in the Generation State after the user calls the Initialize or Reset functions. This specification also requires that the user be able to configure the output of the function generator regardless of whether the function generator is in the Configuration State or the Generation State. This means that the user is only required to call Initiate Generation if they abort signal generation by calling Abort Generation.

Many function generators constantly generate an output signal, and do not require the user to abort signal generation prior to configuring the instrument. If a function generator's output cannot be aborted (i.e., the function generator cannot stop generating a signal) this function does nothing and returns Success.

Some function generators require that the user abort signal generation prior to configuring the instrument. The specific drivers for these types of instruments must compensate for this restriction and allow the user to configure the instrument without requiring the user to call Abort Generation. For these types of instruments, there is often a significant performance increase if the user configures the output while the instrument is not generating a signal.

The user is not required to call Abort Generation or Initiate Generation. Whether the user chooses to call these functions in an application program has no impact on interchangeability. The user can choose to use these functions if they want to optimize their application for instruments that exhibit increased performance when output configuration is performed while the instrument is not generating a signal.

outputs.enabled

If set to True, the signal the function generator produces appears at the output connector. If set to False, the signal the function generator produces does not appear at the output connector.

outputs.impedance

Specifies the impedance of the output channel. The units are Ohms.

outputs.name

This property returns the physical name defined by the specific driver for the output channel that corresponds to the 0-based index that the user specifies. If the driver defines a qualified channel name, this property returns the qualified name. If the value that the user passes for the Index parameter is less than zero or greater than the value of Output Count, the property returns an empty string and returns an error.

outputs.operation_mode

Specifies how the function generator produces output on a channel.

Values for operation_mode:

  • 'continuous'
  • 'burst'
outputs.output_mode

Determines how the function generator produces waveforms. This attribute determines which extension group's functions and attributes are used to configure the waveform the function generator produces.

Values for output_mode:

  • 'function'
  • 'arbitrary'
  • 'sequence'
outputs.reference_clock_source

Specifies the source of the reference clock. The function generator derives frequencies and sample rates that it uses to generate waveforms from the reference clock.

The source of the reference clock is a string. If an IVI driver supports a reference clock source and the reference clock source is listed in IVI-3.3 Cross Class Capabilities Specification, Section 3, then the IVI driver shall accept the standard string for that reference clock. This attribute is case insensitive, but case preserving. That is, the setting is case insensitive but when reading it back the programmed case is returned. IVI specific drivers may define new reference clock source strings for reference clock sources that are not defined by IVI-3.3 Cross Class Capabilities Specification if needed.

StdFunc class

class ivi.fgen.StdFunc(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that can produce manufacturer-supplied periodic waveforms

outputs.standard_waveform.amplitude

Specifies the amplitude of the standard waveform the function generator produces. When the Waveform attribute is set to Waveform DC, this attribute does not affect signal output. The units are volts.

outputs.standard_waveform.configure

This function configures the attributes of the function generator that affect standard waveform generation. These attributes are the Waveform, Amplitude, DC Offset, Frequency, and Start Phase.

When the Waveform parameter is set to Waveform DC, this function ignores the Amplitude, Frequency, and Start Phase parameters and does not set the Amplitude, Frequency, and Start Phase attributes.

outputs.standard_waveform.dc_offset

Specifies the DC offset of the standard waveform the function generator produces. If the Waveform attribute is set to Waveform DC, this attribute specifies the DC level the function generator produces. The units are volts.

outputs.standard_waveform.duty_cycle_high

Specifies the duty cycle for a square waveform. This attribute affects function generator behavior only when the Waveform attribute is set to Waveform Square. The value is expressed as a percentage.

outputs.standard_waveform.frequency

Specifies the frequency of the standard waveform the function generator produces. When the Waveform attribute is set to Waveform DC, this attribute does not affect signal output. The units are Hertz.

outputs.standard_waveform.start_phase

Specifies the start phase of the standard waveform the function generator produces. When the Waveform attribute is set to Waveform DC, this attribute does not affect signal output. The units are degrees.

outputs.standard_waveform.waveform

Specifies which standard waveform the function generator produces.

Values for waveform:

  • 'sine'
  • 'square'
  • 'triangle'
  • 'ramp_up'
  • 'ramp_down'
  • 'dc'

ArbWfm class

class ivi.fgen.ArbWfm(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that can produce arbitrary waveforms

arbitrary.sample_rate

Specifies the sample rate of the arbitrary waveforms the function generator produces. The units are samples per second.

arbitrary.waveform.clear

Removes a previously created arbitrary waveform from the function generator's memory and invalidates the waveform's handle.

If the waveform cannot be cleared because it is currently being generated, or it is specified as part of an existing arbitrary waveform sequence, this function returns the Waveform In Use error.

arbitrary.waveform.configure

Configures the attributes of the function generator that affect arbitrary waveform generation. These attributes are the arbitrary waveform handle, gain, and offset.

arbitrary.waveform.create

Creates an arbitrary waveform from an array of data points. The function returns a handlethat identifies the waveform. You pass a waveform handle to the Handle parameter of the Configure Arbitrary Waveform function to produce that waveform.

arbitrary.waveform.number_waveforms_max

Returns the maximum number of arbitrary waveforms that the function generator allows.

arbitrary.waveform.quantum

The size of each arbitrary waveform shall be a multiple of a quantum value. This attribute returns the quantum value the function generator allows. For example, if this attribute returns a value of 8, all waveform sizes must be a multiple of 8.

arbitrary.waveform.size_max

Returns the maximum number of points the function generator allows in an arbitrary waveform.

arbitrary.waveform.size_min

Returns the minimum number of points the function generator allows in an arbitrary waveform.

outputs.arbitrary.configure

Configures the attributes of the function generator that affect arbitrary waveform generation. These attributes are the arbitrary waveform handle, gain, and offset.

outputs.arbitrary.gain

Specifies the gain of the arbitrary waveform the function generator produces. This value is unitless.

outputs.arbitrary.offset

Specifies the offset of the arbitrary waveform the function generator produces. The units are volts.

outputs.arbitrary.waveform

ArbChannelWfm class

class ivi.fgen.ArbChannelWfm(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support user-defined arbitrary waveform generation

arbitrary.waveform.create_channel_waveform

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

outputs.arbitrary.create_waveform

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

ArbWfmBinary class

class ivi.fgen.ArbWfmBinary(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support user-defined arbitrary binary waveform generation

arbitrary.binary_alignment

Identifies whether the arbitrary waveform generator treats binary data provided to the Create Channel Arbitrary Waveform Int16 or Create Channel Arbitrary Waveform Int32 functions as left-justified or right-justified. Binary Alignment is only relevant if the generator supports bit-depths less than the size of the binarydata type of the create waveform function being used. For a 16-bit or a 32-bit generator, this function can return either value.

arbitrary.sample_bit_resolution

Returns the number of significant bits that the generator supports in an arbitrary waveform. Together with the binary alignment, this allows the user to know the range and resolution of the integers in the waveform.

arbitrary.waveform.create_channel_waveform_int16

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. Data is passed in as 16-bit binary data. If the arbitrary waveform generator supports formats less than 16 bits, call the BinaryAlignment property to determine whether to left or right justify the data before passing it to this call. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

arbitrary.waveform.create_channel_waveform_int32

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. Data is passed in as 32-bit binary data. If the arbitrary waveform generator supports formats less than 32 bits, call the BinaryAlignment property to determine whether to left or right justify the data before passing it to this call. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

outputs.arbitrary.waveform.create_channel_waveform_int16

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. Data is passed in as 16-bit binary data. If the arbitrary waveform generator supports formats less than 16 bits, call the BinaryAlignment property to determine whether to left or right justify the data before passing it to this call. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

outputs.arbitrary.waveform.create_channel_waveform_int32

Creates a channel-specific arbitrary waveform and returns a handle that identifies that waveform. Data is passed in as 32-bit binary data. If the arbitrary waveform generator supports formats less than 32 bits, call the BinaryAlignment property to determine whether to left or right justify the data before passing it to this call. You pass a waveform handle as the waveformHandle parameter of the Configure Arbitrary Waveform function to produce that waveform. You also use the handles this function returns to create a sequence of arbitrary waveforms with the Create Arbitrary Sequence function.

If the instrument has multiple channels, it is possible to create multi-channel waveforms: the channel names are passed as a comma-separated list of channel names, and the waveform arrays are concatenated into a single array. In this case, all waveforms must be of the same length.

If the function generator cannot store any more arbitrary waveforms, this function returns the error No Waveforms Available.

DataMarker class

class ivi.fgen.DataMarker(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support output of particular waveform data bits as markers

data_markers.amplitude

Specifies the amplitude of the data marker output. The units are volts.

data_markers.bit_position

Specifies the bit position of the binary representation of the waveform data that will be output as a data marker. A value of 0 indicates the least significant bit.

data_markers.clear

Disables all of the data markers by setting their Data Marker Destination attribute to None.

data_markers.configure

Configures some of the common data marker attributes.

data_markers.delay

Specifies the amount of delay applied to the data marker output with respect to the analog data output. A value of zero indicates the marker is aligned with the analog data output. The units are seconds.

data_markers.destination

Specifies the destination terminal for the data marker output.

data_markers.name

This attribute returns the repeated capability identifier defined by specific driver for the data marker that corresponds to the index that the user specifies. If the driver defines a qualified Data Marker name, this property returns the qualified name.

If the value that the user passes for the Index parameter is less than zero or greater than the value of the Data Marker Count, the attribute returns an empty string for the value and returns an error.

data_markers.polarity

Specifies the polarity of the data marker output.

Values for polarity:

  • 'active_high'
  • 'active_low'
data_markers.source_channel

Specifies the channel whose data bit will be output as a marker.

SparseMarker class

class ivi.fgen.SparseMarker(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support output of markers associated with output data samples

sparse_markers.amplitude

Specifies the amplitude of the sparse marker output. The units are volts.

sparse_markers.clear

Disables all of the sparse markers by setting their Sparse Marker Destination attribute to None.

sparse_markers.configure

Configures some of the common sparse marker attributes.

sparse_markers.delay

Specifies the amount of delay applied to the sparse marker output with respect to the analog data output. A value of zero indicates the marker is aligned with the analog data output. The units are seconds.

sparse_markers.destination

Specifies the destination terminal for the sparse marker output.

sparse_markers.get_indexes

Gets the coerced indexes associated with the sparse marker. These indexes are specified by either the Configure SparseMarker function or the Set Sparse Marker Indexes function.

sparse_markers.name

This attribute returns the repeated capability identifier defined by specific driver for the sparse marker that corresponds to the index that the user specifies. If the driver defines a qualified Sparse Marker name, this property returns the qualified name.

If the value that the user passes for the Index parameter is less than one or greater than the value of the Sparse Marker Count, the attribute returns an empty string for the value and returns an error.

sparse_markers.polarity

Specifies the polarity of the sparse marker output.

Values for polarity:

  • 'active_high'
  • 'active_low'
sparse_markers.set_indexes

Sets the indexes associated with the sparse marker. These indexes may be coerced by the driver. Use the Get Sparse Marker Indexes function to find the coerced values.

sparse_markers.waveform_handle

Specifies the waveform whose indexes the sparse marker refers to.

ArbDataMask class

class ivi.fgen.ArbDataMask(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support masking of waveform data bits

arbitrary.data_mask

Determines which bits of the output data are masked out. This is especially useful when combined with Data Markers so that the bits embedded with the data to be used for markers are not actually output by the generator.

A value of 1 for a particular bit indicates that the data bit should be output. A value of 0 indicates that the data bit should be masked out. For example, if the value of this property is 0xFFFFFFFF (all bits are 1), no masking is applied.

ArbFrequency class

class ivi.fgen.ArbFrequency(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that can produce arbitrary waveforms with variable rate

outputs.arbitrary.frequency

Specifies the rate in Hertz at which an entire arbitrary waveform is generated.

ArbSeq class

class ivi.fgen.ArbSeq(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that can produce sequences of arbitrary waveforms

arbitrary.clear_memory

Removes all previously created arbitrary waveforms and sequences from the function generator's memory and invalidates all waveform and sequence handles.

If a waveform cannot be cleared because it is currently being generated, this function returns the error Waveform In Use.

If a sequence cannot be cleared because it is currently being generated, this function returns the error Sequence In Use.

arbitrary.sequence.clear

Removes a previously created arbitrary sequence from the function generator's memory and invalidates the sequence's handle.

If the sequence cannot be cleared because it is currently being generated, this function returns the error Sequence In Use.

arbitrary.sequence.configure

Configures the attributes of the function generator that affect arbitrary sequence generation. These attributes are the arbitrary sequence handle, gain, and offset.

arbitrary.sequence.create

Creates an arbitrary waveform sequence from an array of waveform handles and a corresponding array of loop counts. The function returns a handle that identifies the sequence. You pass a sequence handle to the Handle parameter of the Configure Arbitrary Sequence function to produce that sequence.

If the function generator cannot store any more arbitrary sequences, this function returns the error No Sequences Available.

arbitrary.sequence.length_max

Returns the maximum number of arbitrary waveforms that the function generator allows in an arbitrary sequence.

arbitrary.sequence.length_min

Returns the minimum number of arbitrary waveforms that the function generator allows in an arbitrary sequence.

arbitrary.sequence.loop_count_max

Returns the maximum number of times that the function generator can repeat a waveform in a sequence.

arbitrary.sequence.number_sequences_max

Returns the maximum number of arbitrary sequences that the function generator allows.

outputs.arbitrary.sequence.configure

Configures the attributes of the function generator that affect arbitrary sequence generation. These attributes are the arbitrary sequence handle, gain, and offset.

ArbSeqDepth class

class ivi.fgen.ArbSeqDepth(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support producing sequences of sequences of waveforms

arbitrary.sequence.depth_max

Returns the maximum sequence depth - that is, the number of times a sequence can include other sequences recursively. A depth of zero indicates the generator supports waveforms only. A depth of 1 indicates a generator supports sequences of waveforms, but not sequences of sequences. A depth of 2 or greater indicates that the generator supports sequences of sequences. Note that if the MaxSequenceDepth is 2 or greater, the driver must return unique handles for waveforms and sequences so that a sequence may contain both waveform and sequence handles.

Trigger class

class ivi.fgen.Trigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support triggering

outputs.trigger.source

Specifies the trigger source. After the function generator receives a trigger from this source, it produces a signal.

InternalTrigger class

class ivi.fgen.InternalTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support internal triggering

trigger.internal_rate

Specifies the rate at which the function generator's internal trigger source produces a trigger, in triggers per second.

SoftwareTrigger class

class ivi.fgen.SoftwareTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support software triggering

ivi.fgen.send_software_trigger

This function sends a software-generated trigger to the instrument. It is only applicable for instruments using interfaces or protocols which support an explicit trigger function. For example, with GPIB this function could send a group execute trigger to the instrument. Other implementations might send a *TRG command.

Since instruments interpret a software-generated trigger in a wide variety of ways, the precise response of the instrument to this trigger is not defined. Note that SCPI details a possible implementation.

This function should not use resources which are potentially shared by other devices (for example, the VXI trigger lines). Use of such shared resources may have undesirable effects on other devices.

This function should not check the instrument status. Typically, the end-user calls this function only in a sequence of calls to other low-level driver functions. The sequence performs one operation. The end-user uses the low-level functions to optimize one or more aspects of interaction with the instrument. To check the instrument status, call the appropriate error query function at the conclusion of the sequence.

The trigger source attribute must accept Software Trigger as a valid setting for this function to work. If the trigger source is not set to Software Trigger, this function does nothing and returns the error Trigger Not Software.

Burst class

class ivi.fgen.Burst(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support triggered burst output

outputs.burst_count

Specifies the number of waveform cycles that the function generator produces after it receives a trigger.

ModulateAM class

class ivi.fgen.ModulateAM(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support amplitude modulation

am.configure_internal

Configures the attributes that control the function generator's internal amplitude modulating waveform source. These attributes are the modulation depth, waveform, and frequency.

am.internal_depth

Specifies the extent of modulation the function generator applies to the carrier waveform when the AM Source attribute is set to AM Internal. The unit is percentage.

This attribute affects the behavior of the instrument only when the AM ource attribute is set to AM Internal.

am.internal_frequency

Specifies the frequency of the internal modulating waveform source. The units are Hertz.

This attribute affects the behavior of the instrument only when the AM ource attribute is set to AM Internal.

am.internal_waveform

Specifies the waveform of the internal modulating waveform source.

This attribute affects the behavior of the instrument only when the AM ource attribute is set to AM Internal.

Values for internal_waveform:

  • 'sine'
  • 'square'
  • 'triangle'
  • 'ramp_up'
  • 'ramp_down'
  • 'dc'
outputs.am.enabled

Specifies whether the function generator applies amplitude modulation to the signal that the function generator produces with the IviFgenStdFunc, IviFgenArbWfm, or IviFgenArbSeq capability groups. If set to True, the function generator applies amplitude modulation to the output signal. If set to False, the function generator does not apply amplitude modulation to the output signal.

outputs.am.source

Specifies the source of the signal that the function generator uses as the modulating waveform.

This attribute affects instrument behavior only when the AM Enabled attribute is set to True.

ModulateFM class

class ivi.fgen.ModulateFM(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support frequency modulation

fm.configure_internal

Specifies the source of the signal that the function generator uses as the modulating waveform.

This attribute affects instrument behavior only when the FM Enabled attribute is set to True.

fm.internal_deviation

Specifies the maximum frequency deviation, in Hertz, that the function generator applies to the carrier waveform when the FM Source attribute is set to FM Internal.

This attribute affects the behavior of the instrument only when the FM Source attribute is set to FM Internal.

fm.internal_frequency

Specifies the frequency of the internal modulating waveform source. The units are hertz.

This attribute affects the behavior of the instrument only when the FM Source attribute is set to FM Internal.

fm.internal_waveform

Specifies the waveform of the internal modulating waveform source.

This attribute affects the behavior of the instrument only when the FM Source attribute is set to FM Internal.

Values for internal_waveform:

  • 'sine'
  • 'square'
  • 'triangle'
  • 'ramp_up'
  • 'ramp_down'
  • 'dc'
outputs.fm.enabled

Specifies whether the function generator applies amplitude modulation to the carrier waveform. If set to True, the function generator applies frequency modulation to the output signal. If set to False, the function generator does not apply frequency modulation to the output signal.

outputs.fm.source

SampleClock class

class ivi.fgen.SampleClock(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support external sample clocks

sample_clock.output_enabled

Specifies whether or not the sample clock appears at the sample clock output of the generator.

sample_clock.source

Specifies the clock used for the waveform generation. Note that when using an external sample clock, the Arbitrary Sample Rate attribute must be set to the corresponding frequency of the external sample clock.

TerminalConfiguration class

class ivi.fgen.TerminalConfiguration(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support single ended or differential output selection

outputs.terminal_configuration

Determines whether the generator will run in single-ended or differential mode, and whether the output gain and offset values will be analyzed based on single-ended or differential operation.

Values for terminal_configuration:

  • 'single_ended'
  • 'differential'

StartTrigger class

class ivi.fgen.StartTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support start triggering

outputs.trigger.start.configure

This function configures the start trigger properties.

outputs.trigger.start.delay

Specifies an additional length of time to delay from the start trigger to the first point in the waveform generation. The units are seconds.

outputs.trigger.start.slope

Specifies the slope of the trigger that starts the generator.

Values for slope:

  • 'positive'
  • 'negative'
  • 'either'
outputs.trigger.start.source

Specifies the source of the start trigger.

outputs.trigger.start.threshold

Specifies the voltage threshold for the start trigger. The units are volts.

trigger.start.configure

This function configures the start trigger properties.

trigger.start.send_software_trigger

This function sends a software-generated start trigger to the instrument.

StopTrigger class

class ivi.fgen.StopTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support stop triggering

Error

Unable to execute python code at fgen.rst:1194:

_add_method() takes at most 4 arguments (5 given)

HoldTrigger class

class ivi.fgen.HoldTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support hold triggering

outputs.trigger.hold.configure

This function configures the hold trigger properties.

outputs.trigger.hold.delay

Specifies an additional length of time to delay from the hold trigger to the pause of the generation. The units are seconds.

outputs.trigger.hold.slope

Specifies the slope of the hold trigger.

Values for slope:

  • 'positive'
  • 'negative'
  • 'either'
outputs.trigger.hold.source

Specifies the source of the hold trigger.

outputs.trigger.hold.threshold

Specifies the voltage threshold for the hold trigger. The units are volts.

trigger.hold.configure

This function configures the hold trigger properties.

trigger.hold.send_software_trigger

This function sends a software-generated hold trigger to the instrument.

ResumeTrigger class

class ivi.fgen.ResumeTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support resume triggering

outputs.trigger.resume.configure

This function configures the resume trigger properties.

outputs.trigger.resume.delay

Specifies an additional length of time to delay from the resume trigger to the resumption of the generation. The units are seconds.

outputs.trigger.resume.slope

Specifies the slope of the resume trigger.

Values for slope:

  • 'positive'
  • 'negative'
  • 'either'
outputs.trigger.resume.source

Specifies the source of the resume trigger.

outputs.trigger.resume.threshold

Specifies the voltage threshold for the resume trigger. The units are volts.

trigger.resume.configure

This function configures the resume trigger properties.

trigger.resume.send_software_trigger

This function sends a software-generated resume trigger to the instrument.

AdvanceTrigger class

class ivi.fgen.AdvanceTrigger(*args, **kwargs)[source]

Bases: ivi.ivi.IviContainer

Extension IVI methods for function generators that support advance triggering

outputs.trigger.advance.configure

This function configures the advance trigger properties.

outputs.trigger.advance.delay

Specifies an additional length of time to delay from the advance trigger to the advancing to the end of the current waveform. Units are seconds.

outputs.trigger.advance.slope

Specifies the slope of the advance trigger.

Values for slope:

  • 'positive'
  • 'negative'
  • 'either'
outputs.trigger.advance.source

Specifies the source of the advance trigger.

outputs.trigger.advance.threshold

Specifies the voltage threshold for the advance trigger. The units are volts.

trigger.advance.configure

This function configures the advance trigger properties.

trigger.advance.send_software_trigger

This function sends a software-generated advance trigger to the instrument.