Module nicompiler_backend::device
source · 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:
- Devices (cards) directly attached the computer via PCIe/USB.
- 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.