Expand description

Implements struct and methods corresponding to NI devices. See BaseDevice for implementation details.

A NI control system consists of one or both of the components:

  1. Devices (cards) directly attached the computer via PCIe/USB.
  2. A PCIe link card connected to a PXIe chassis, which hosts multiple PXIe cards.

Device

In this library, every Device object corresponds to a particular task for a physical device (e.g. analogue output for PXI1Slot1). A Device trivially implements the BaseDevice trait by supplying field methods.

Device fields keep tracks of of the physical channels associated with the device as well as device-wide data such as device name, trigger line, and synchronization behavior.

The Device struct is the primary structure used to interact with NI hardware. It groups multiple channels, each of which corresponds to a physical channel on an NI device. This struct provides easy access to various properties of the device, such as its physical name, task type, and several clock and trigger configurations. For editing and compiling behavior of devices, see the BaseDevice trait.

Editable and streamable channels in devices

Library users create and edit editable channels. During compilation, based on the device’s task type, the library may internally add streamable channels. For more details on editable and streamable channels, see the editable v.s. streamable section in channel module.

Synchronization methods for devices

Each device’s synchronization behavior is specified by its constructor arguments. Refer to the Device struct for a more detailed explanation.

Structs

  • Represents a National Instruments (NI) device.

Traits

  • The BaseDevice trait defines the fundamental operations and attributes of a National Instruments (NI) device.