Custom Device Types
- Updated2025-10-27
- 3 minute(s) read
The type of a custom device refers to its execution mode, which defines how the device interacts with the VeriStand Engine.
Depending on your requirements, you can create custom devices that run inline or in parallel with the Primary Control Loop (PCL). You also can create timing and sync devices.
The following table displays the pre-defined custom device types that are included in VeriStand.
| Device type | Basic architecture | Data interface | Timing | Benefits | Caveats | Use cases |
|---|---|---|---|---|---|---|
| Asynchronous | Two loops, one for receiving commands and one for data transfer | FIFOs | Variable | Unlikely to affect timing of the rest of the VeriStand system, can run faster or slower than the PCL | 1-cycle latency due to FIFOs | Shared resources, background processes, non-deterministic hardware/protocols, system health monitoring, logging, offline analysis |
| Inline Hardware Interface | State machine with two-phase execution | Channel references | Inline | Sends data to engine before other components execute, receives data from engine after other components execute | Can adversely affect PCL timing | Most hardware, deterministic operation, two-phase operations (for example, stimulus-response) |
| Inline Model Interface | State machine with one-phase execution | Channel references | Inline | Sends data to engine with low latency | Can adversely affect PCL timing | Low latency calculations, such as PID, interpolation, and so on |
| Inline Timing and Sync | State machine with two-phase execution | Channel references | Inline | Same as Inline Hardware Interface, can function as hardware synchronization master device to drive RTSI 0 line | Can adversely affect PCL timing | Inline hardware synchronization master device |
| Asynchronous Timing and Sync | Single loop | FIFOs | Variable | Same as Asynchronous, but can function as hardware synchronization master device to drive RTSI 0 line | 1-cycle latency due to FIFOs | Asynchronous hardware synchronization master device |
Custom Device Type Selection
Choose the type of custom device that most closely resembles the functionality you want to configure. For example, if you want to read and write data to and from a hardware device at the same rate as the PCL, select an inline hardware interface custom device type. However, if you have a serial hardware device, you should select an asynchronous custom device, as serial devices are slow and could affect the PCL timing. Understanding the execution steps of the PCL also can help you select the appropriate custom device type.
Custom Device Type Configuration
You configure the custom device type by selecting the appropriate template VI from the Custom Device API library. The type of custom device you select will determine the architecture of the RT Driver VI, but the VIs for configuring the custom device remain the same across all types.
A custom device is not limited to a single device type, and you can alter the code in the template VIs to fit your needs. For example, you can create both inline and asynchronous engines for the same custom device, and use the Set Custom Device Drivers VI to switch between them. However, you must maintain the connector pane, controls, and indicators that the tool and templates include to ensure correct interaction with VeriStand.
Related Information
- Primary Control Loop Execution Steps
The Primary Control Loop (PCL) controls the timing of the VeriStand Engine by performing several execution steps.
- Asynchronous Custom Devices
An asynchronous custom device executes in a parallel loop with the VeriStand Engine's Primary Control Loop (PCL) and uses RT FIFOs to exchange channel data with the rest of VeriStand.
- Inline Hardware Interface Custom Devices
An inline hardware interface custom device executes inline with the VeriStand Engine's Primary Control Loop (PCL) and enables you to read and write data from and to a hardware device.
- Inline Model Interface Custom Devices
An inline model interface custom device executes inline with the VeriStand Engine's Primary Control Loop (PCL), which processes data acquired from hardware inputs and sends the processed values to hardware outputs without latency.
- Timing and Sync Custom Devices
A timing and sync custom device is any device that has the capability to drive the RTSI 0 line to serve as the chassis master hardware synchronization device for a system.
- Inline Custom Devices with Asynchronous Loops
The RT Driver VI of an inline custom device can communicate channel data with VeriStand while launching an asynchronous loop(s) to handle nondeterministic operations.
- Custom Device API Library
The Custom Device API library is a LabVIEW library that contains type definitions, template VIs, and the LabVIEW API a custom device needs to interact with VeriStand.