Files
DP44/docs/ai/Common/DTS.Common.DAS.Concepts/Interfaces.md
2026-04-17 14:55:32 -04:00

56 lines
1.9 KiB
Markdown

---
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