Disabling Unused Extensions

National Instruments IVI Driver

Disabling Unused Extensions

If you use an instrument that has extended capabilities but your application does not configure the settings for the extended capabilities, the settings are in an unknown state. The unknown state could affect the behavior of the instrument capabilities that the program does use. Furthermore, the unknown state is likely to vary from one instrument to another. The settings are likely to be the power-on settings for the instrument. The power-on settings vary from instrument to instrument.

To avoid having different behavior when used with different instruments, each instrument specific driver disables unused extensions by setting the extensions to an interchangeable state. This interchangeable state renders the extension group unable to affect the behavior of the instrument. Normally, an extension remains disabled until your program explicitly uses it. At which point the instrument driver does not have to take any other action. Therefore, if your program sets any values of the extension group, the specific driver does not enable the extension group.

For example, the IviDmm base capabilities control DMMs that take a single measurement. The IviDmm class defines a multipoint extension group that controls DMMs that can acquire multiple samples from multiple triggers. If you develop a program that sues only the IviDmm base capabilities with an instrument that implements the multipoint extension group, the IviDmm-compliant specific driver sets the multipoint extension group attributes to an interchangeable state when you call either Initiate or Read functions for IviDmm. In addition to these functions, the driver also disables all extensions in the Initialize and Reset With Defaults functions.

To disable the multipoint extension group to the interchangeable state, the IviDmm-compliant specific driver sets the trigger count attribute to 1 and the sample count attribute to 1. In this configuration, the multipoint extension group does not affect the behavior of the instrument. Therefore, you can run the program with instruments that implement only the IviDmm base capabilities as well as with instruments that implement the multipoint extension group.

For more information about the interchangeable state that the class drivers apply for disabling unused extensions, refer to Interchangeability Checking.