init
This commit is contained in:
152
docs/ai/DataPRO/IService/Classes/TDAS.md
Normal file
152
docs/ai/DataPRO/IService/Classes/TDAS.md
Normal 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
|
||||
Reference in New Issue
Block a user