--- 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 sampleRateLookup, Dictionary aafLookup, DFConstantsAndEnums.RecordingMode recordingMode, bool? checkoutMode) ``` | Property | Type | Description | |----------|------|-------------| | `SetupDescription` | `string` | Description of the setup configuration | | `SamplesPerSecondLookup` | `Dictionary` | Sample rates per DAS identifier | | `HardwareFilterRateHzLookup` | `Dictionary` | 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 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