--- source_files: - Common/DTS.Common.DAS.Concepts/Interfaces/ITriggerable.cs - Common/DTS.Common.DAS.Concepts/Interfaces/IDataCollectionEnabled.cs - Common/DTS.Common.DAS.Concepts/Interfaces/ICalibratable.cs - Common/DTS.Common.DAS.Concepts/Interfaces/ILargeDataAware.cs - Common/DTS.Common.DAS.Concepts/Interfaces/IRealtimeable.cs - Common/DTS.Common.DAS.Concepts/Interfaces/IGpioEnabled.cs - Common/DTS.Common.DAS.Concepts/Interfaces/IDownloadEnabled.cs - Common/DTS.Common.DAS.Concepts/Interfaces/IArmable.cs generated_at: "2026-04-17T15:32:37.442181+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "1681496bcdfa352d" --- # Documentation: DTS.Common.DAS.Concepts Interfaces ## 1. Purpose This module defines a set of interfaces that describe the core capabilities of Data Acquisition System (DAS) hardware devices. These interfaces model behaviors such as arming, triggering, calibration, data collection, real-time sampling, GPIO control, and data download. The design enables polymorphic treatment of different hardware models (TSR, HEADS, NASCAR variants) while allowing type-specific implementations where necessary. The interfaces are intended to be composed together to describe complete device capabilities. --- ## 2. Public Interface ### Interfaces #### `ITriggerable` **Namespace:** `DTS.Common.DAS.Concepts` ```csharp public interface ITriggerable { void Trigger(); } ``` A minimal interface describing an object that can be triggered. The `Trigger()` method initiates the trigger action on the implementing object. --- #### `IArmable` **Namespace:** `DTS.Common.DAS.Concepts` ```csharp public interface IArmable { void Arm(); void Disarm(); ArmStatus ArmStatus { get; } AvailableArmModes ArmMode { get; } } ``` Describes an object that can be armed and disarmed. Implementers must provide: - `Arm()` — transitions the device to an armed state - `Disarm()` — transitions the device to a