56 lines
1.9 KiB
Markdown
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 |