This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,152 @@
---
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