As illustrated in the following image of a pattern state model, an NI-Digital Pattern Driver session can be in one of three programming states:

  • Uncommitted
  • Committed
  • Running

Most digital pattern instrument settings do not take effect immediately when configured with the NI-Digital Pattern Driver. Rather, settings take effect when they are committed.

Note The PPMU has a simpler session state model than the pattern sequencer. PPMU settings related to sourcing are committed when you call the niDigital PPMU Source VI, the DigitalPpmu.Source .NET method, or the niDigital_PPMU_Source C function. PPMU settings related to measuring take effect when you call the niDigital PPMU Measure VI, the DigitalPpmu.Measure .NET method, or the niDigital_PPMU_Measure C function.
Figure 3. NI-Digital Pattern Driver Session State Diagram


Table 2. Session States
State Description
Uncommitted

A session enters this state after you initialize or reset.

In this state, the instrument remains configured as it was the last time the session was committed.

Settings you configure in this state are not applied to the instrument until it enters the Committed or Running states.

Committed

A session enters this state after you explicitly commit the session or call a VI, .NET method, or C function that commits the session.

In this state, previously configured settings and certain automatically configured settings are applied to the instrument.

Note Bursting a pattern automatically commits the pattern sequencer settings.
Note Reading or writing static data automatically commits driver, comparator, and active load settings. This includes VIH, VIL, VOH, VOL, active load, and termination mode.
Running

The session enters this state after you burst a pattern or initiate.

In this state, you can dynamically reconfigure certain settings. For example, you can dynamically reconfigure all driver, comparator, and active load settings. This includes VIH, VIL, VOH, VOL, active load, and termination mode.

The session exits this state after you call the niDigital Abort VI, the DigitalPatternControl.Abort .NET method, the niDigital_Abort C function, the niDigital Abort Keep Alive VI, the DigitalPatternControl.AbortKeepAlive .NET method, or the niDigital_AbortKeepAlive C function.

Note Closing or resetting a session automatically aborts the session.