152 lines
5.5 KiB
Markdown
152 lines
5.5 KiB
Markdown
---
|
|
source_files:
|
|
- DataPRO/IService/Classes/TDAS/TDASServiceSetupInfo.cs
|
|
- DataPRO/IService/Classes/TDAS/TDASServiceSetupInfoLookup.cs
|
|
- DataPRO/IService/Classes/TDAS/TDASConfig.cs
|
|
- DataPRO/IService/Classes/TDAS/TDASModuleConfig.cs
|
|
generated_at: "2026-04-17T15:38:46.566937+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "48c05185bea83ad8"
|
|
---
|
|
|
|
# TDAS Configuration Module Documentation
|
|
|
|
## 1. Purpose
|
|
|
|
This module provides configuration management for TDAS (Test Data Acquisition System) hardware modules within the DataPRO system. It defines data structures for service setup information (`TDASServiceSetupInfo`, `TDASServiceSetupInfoLookup`) and implements XML-serializable configuration persistence for TDAS modules and their associated channels (`TDASConfig`, `TDASModuleConfig`). The module supports per-module configuration storage, channel management across multiple channel types, and recording mode settings for data acquisition operations.
|
|
|
|
---
|
|
|
|
## 2. Public Interface
|
|
|
|
### TDASServiceSetupInfo
|
|
**Namespace:** `DTS.DASLib.Service`
|
|
|
|
A POCO class representing static service setup parameters.
|
|
|
|
```csharp
|
|
public TDASServiceSetupInfo(
|
|
string setupDescription,
|
|
double? samplesPerSecond,
|
|
float hardwareFilterRateHz,
|
|
DFConstantsAndEnums.RecordingMode recordingMode,
|
|
bool? checkoutMode)
|
|
```
|
|
|
|
| Property | Type | Description |
|
|
|----------|------|-------------|
|
|
| `SetupDescription` | `string` | Description of the setup configuration |
|
|
| `SamplesPerSecond` | `double?` | Nullable sample rate |
|
|
| `HardwareFilterRateHz` | `float` | Anti-aliasing filter rate in Hertz |
|
|
| `RecordingMode` | `DFConstantsAndEnums.RecordingMode` | Recording mode enum value |
|
|
| `CheckoutMode` | `bool?` | Nullable checkout mode flag |
|
|
|
|
---
|
|
|
|
### TDASServiceSetupInfoLookup
|
|
**Namespace:** `DTS.DASLib.Service`
|
|
|
|
A variant of `TDASServiceSetupInfo` where sample rates and filter rates are stored as dictionaries keyed by DAS identifier, allowing per-device configuration.
|
|
|
|
```csharp
|
|
public TDASServiceSetupInfoLookup(
|
|
string setupDescription,
|
|
Dictionary<string, double> sampleRateLookup,
|
|
Dictionary<string, float> aafLookup,
|
|
DFConstantsAndEnums.RecordingMode recordingMode,
|
|
bool? checkoutMode)
|
|
```
|
|
|
|
| Property | Type | Description |
|
|
|----------|------|-------------|
|
|
| `SetupDescription` | `string` | Description of the setup configuration |
|
|
| `SamplesPerSecondLookup` | `Dictionary<string, double>` | Sample rates per DAS identifier |
|
|
| `HardwareFilterRateHzLookup` | `Dictionary<string, float>` | Filter rates per DAS identifier |
|
|
| `RecordingMode` | `DFConstantsAndEnums.RecordingMode` | Recording mode enum value |
|
|
| `CheckoutMode` | `bool?` | Nullable checkout mode flag |
|
|
|
|
---
|
|
|
|
### TDASConfig
|
|
**Namespace:** `DTS.DASLib.Service`
|
|
|
|
Implements `IXmlSerializable` for XML-based persistence of TDAS module configurations. Manages a collection of `TDASModuleConfig` objects keyed by serial number.
|
|
|
|
```csharp
|
|
public TDASConfig()
|
|
```
|
|
Default constructor.
|
|
|
|
```csharp
|
|
public TDASConfig(string fileName, bool deleteIfPresent)
|
|
```
|
|
Constructs an instance and optionally loads from or deletes an existing config file. Files are stored in a `DASConfigs` subdirectory relative to the executing assembly location.
|
|
|
|
| Parameter | Description |
|
|
|-----------|-------------|
|
|
| `fileName` | Name of the configuration file |
|
|
| `deleteIfPresent` | If `true`, deletes existing file; if `false`, reads existing file |
|
|
|
|
```csharp
|
|
public void SetModule(TDASModuleConfig module)
|
|
```
|
|
Adds or updates a module configuration in the internal dictionary keyed by `module.SerialNumber`.
|
|
|
|
```csharp
|
|
public TDASModuleConfig GetModule(TDASModuleConfig module)
|
|
```
|
|
Retrieves an existing module by serial number, or adds the provided module if not present.
|
|
|
|
```csharp
|
|
public Dictionary<string, TDASModuleConfig> Modules { get; }
|
|
```
|
|
Read-only access to the module dictionary.
|
|
|
|
```csharp
|
|
public string FileName { get; }
|
|
```
|
|
Full path to the configuration file.
|
|
|
|
**IXmlSerializable Members:**
|
|
- `XmlSchema GetSchema()` — Returns `null`.
|
|
- `void ReadXml(XmlReader reader)` — Deserializes from XML with root element `TDASConfig`.
|
|
- `void WriteXml(XmlWriter writer)` — Serializes to XML.
|
|
|
|
---
|
|
|
|
### TDASModuleConfig
|
|
**Namespace:** `DTS.DASLib.Service`
|
|
|
|
Implements `IXmlSerializable` for individual TDAS module configuration, including channel definitions.
|
|
|
|
```csharp
|
|
public TDASModuleConfig()
|
|
```
|
|
Default constructor.
|
|
|
|
```csharp
|
|
public TDASModuleConfig(string fileName)
|
|
```
|
|
Constructs an instance and loads configuration from the specified file in the `DASConfigs` subdirectory.
|
|
|
|
| Property | Type | Default | Description |
|
|
|----------|------|---------|-------------|
|
|
| `SerialNumber` | `string` | `""` | Module serial number (dictionary key) |
|
|
| `TestId` | `string` | `""` | Test identifier |
|
|
| `TestDescription` | `string` | `""` | Test description |
|
|
| `RecordingMode` | `DFConstantsAndEnums.RecordingMode` | `InvalidArmMode` | Recording mode |
|
|
| `AAFilterRateHz` | `float` | `0` | Anti-aliasing filter rate |
|
|
| `PreTriggerSeconds` | `double` | `0` | Pre-trigger duration |
|
|
| `PostTriggerSeconds` | `double` | `0` | Post-trigger duration |
|
|
| `FirmwareVersion` | `string` | `""` | Firmware version string |
|
|
| `MaxEventStorageSpaceInBytes` | `UInt64?` | `0` | Maximum event storage |
|
|
| `ModuleArrayIndex` | `int` | `0` | Module array index |
|
|
| `FileName` | `string` | — | Full path to config file (read-only) |
|
|
|
|
```csharp
|
|
public void SetChannel(OutputTOMDigitalChannel channel)
|
|
public void SetChannel(OutputSquibChannel channel)
|
|
public void SetChannel(AnalogInputDASChannel channel)
|
|
```
|
|
Adds or updates a channel in the internal dictionary keyed by `channel.Module |