Represents the NI-Pulser driver session that interacts with the Pulser.

Derives from

  • IDisposable

Syntax

Namespace: NationalInstruments.ECUTS.Pulser

public class PulserSession : IDisposable

Remarks

The PulserSession class relies on the SessionInitializationBehavior enum from the NationalInstruments.Grpc.Device namespace of the external assembly NationalInstruments.ECUTS.SharedMessages.dll. Ensure your project references the external assembly.

Constructors

NameDescription
PulserSession(string, string, SessionInitializationBehavior)

Creates a new PulserSession object that can interact with the Pulser.

Properties

NameDescription
BiasingPowerSupplyOutputEnabled

Gets or sets a value indicating whether the biasing power supply output is enabled.

PretriggerSamplesPerChannel

Gets the number of pretrigger samples to acquire from each channel before recognizing the reference trigger.

SampleClockRate

Gets the acquisition sampling rate in samples per channel per second.

TotalSamplesPerChannel

Gets the total number of samples to acquire for each channel.

Methods

NameDescription
ChargePulser(double, int)

Charges the Pulser to a specified voltage with a specified timeout in milliseconds.

ChargePulser(double, TimeSpan)

Charges the Pulser to a specified voltage with a specified timeout.

ChargePulserAsync(double, int)

Asynchronously charges the Pulser to a specified voltage with a specified timeout in milliseconds.

ChargePulserAsync(double, TimeSpan)

Asynchronously charges the Pulser to a specified voltage with a specified timeout.

Close()

Disposes the PulserSession object.

ConfigureAcquisitionTime(TimeSpan, TimeSpan)

Configures the acquisition time and pretrigger time.

ConfigureAcquisitionTimeAsync(TimeSpan, TimeSpan)

Asynchronously configures the acquisition time and pretrigger time.

ConfigureBiasingPowerSupply(double, double)

Configures the biasing power supply with the specified voltage and current limit settings.

ConfigureBiasingPowerSupplyAsync(double, double)

Asynchronously configures the biasing power supply with the specified voltage and current limit settings.

ConfigureBiasingPowerSupplyOutputEnabled(bool)

Configures the output state of the biasing power supply.

ConfigureBiasingPowerSupplyOutputEnabledAsync(bool)

Asynchronously configures the output state of the biasing power supply.

ConfigurePulse(double, TimeSpan, TimeSpan, TimeSpan)

Configures a pulse with the specified set point and timing parameters.

ConfigurePulseAsync(double, TimeSpan, TimeSpan, TimeSpan)

Asynchronously configures a pulse with the specified set point and timing parameters.

CreateCurrentInputChannel(string, double, double)

Creates a current input channel or a set of current input channels with the specified parameters for measuring current.

CreateCurrentInputChannelAsync(string, double, double)

Asynchronously creates a current input channel or a set of current input channels with the specified parameters for measuring current.

CreateExternalCurrentFlowPath(Endpoint, Endpoint)

Creates an external current flow path between two specified endpoints.

CreateExternalCurrentFlowPathAsync(Endpoint, Endpoint)

Asynchronously creates an external current flow path between two specified endpoints.

CreateInternalCurrentFlowPath()

Creates an internal current flow path by closing the K17 contactor.

CreateInternalCurrentFlowPathAsync()

Asynchronously creates an internal current flow path by closing the K17 contactor.

CreateVoltageInputChannel(string, double, double)

Creates a voltage input channel or a set of voltage input channels with the specified parameters for measuring voltage.

CreateVoltageInputChannelAsync(string, double, double)

Asynchronously creates a voltage input channel or a set of voltage input channels with the specified parameters for measuring voltage.

DestroyCurrentFlowPath()

Destroys the current flow path.

DestroyCurrentFlowPathAsync()

Asynchronously destroys the current flow path.

Dispose()

Releases all resources used by the current instance of the PulserSession class.

GeneratePulse(TimeSpan)

Generates the pulse configured with ConfigurePulse method.

GeneratePulse(int)

Generates the pulse configured with ConfigurePulse method.

GeneratePulseAsync(TimeSpan)

Asynchronously generates the pulse configured with ConfigurePulseAsync method.

GeneratePulseAsync(int)

Asynchronously generates the pulse configured with ConfigurePulseAsync method.

GetContactorHardwareName(string)

Retrieves the hardware name of the contactor corresponding to the specified software name.

GetContactorHardwareNameAsync(string)

Asynchronously retrieves the hardware name of the contactor corresponding to the specified software name.

GetContactorSoftwareNames()

Retrieves the software names of the contactors.

GetContactorSoftwareNamesAsync()

Asynchronously retrieves the software names of the contactors.

ReadMultiChannelMultiSampleDouble(int)

Reads floating-point samples from the session that contains one or more input channels.

ReadMultiChannelMultiSampleDouble(TimeSpan)

Reads floating-point samples from the session that contains one or more input channels.

ReadMultiChannelMultiSampleDoubleAsync(TimeSpan)

Asynchronously reads floating-point samples from the session that contains one or more input channels.

ReadMultiChannelMultiSampleDoubleAsync(int)

Asynchronously reads floating-point samples from the session that contains one or more input channels.

StopDataAcquisition()

Stops the data acquisition.

StopDataAcquisitionAsync()

Asynchronously stops the data acquisition.

WaitUntilPulserChargingDone(TimeSpan)

Waits until the Pulser charging operation is completed.

WaitUntilPulserChargingDoneAsync(TimeSpan)

Asynchronously waits until the pulser charging operation is completed or the specified timeout expires.

Finalize()
Dispose(bool)