init
This commit is contained in:
250
docs/ai/Common/DTS.Common/Interface/DASFactory/Config.md
Normal file
250
docs/ai/Common/DTS.Common/Interface/DASFactory/Config.md
Normal file
@@ -0,0 +1,250 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IAlignUDPToPPSAware.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IEID.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IVoltageInsertionEnabled.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IInformation.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IConfigurationData.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IConfiguration.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IInfoResultModule.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IDASChannel.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IInfoResult.cs
|
||||
- Common/DTS.Common/Interface/DASFactory/Config/IDASModule.cs
|
||||
generated_at: "2026-04-17T15:31:50.629398+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "621789ad0fb1ddef"
|
||||
---
|
||||
|
||||
# DTS.Common.Interface.DASFactory.Config Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core configuration interfaces for a Data Acquisition System (DAS). It provides abstractions for managing hardware modules, channels, test configurations, and device metadata. The interfaces support XML serialization for persistence, channel-to-module mapping, trigger configuration, and hardware identification (EIDs). This serves as the contract layer between DAS hardware communication components and higher-level configuration services.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IAlignUDPToPPSAware
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IAlignUDPToPPSAware
|
||||
{
|
||||
bool AlignUDPToPPS { get; set; }
|
||||
}
|
||||
```
|
||||
**Behavior:** Marker interface exposing a boolean flag indicating whether UDP data should be aligned to PPS (Pulse Per Second) timing signals.
|
||||
|
||||
---
|
||||
|
||||
### IEID
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IEID
|
||||
{
|
||||
string ID { get; set; }
|
||||
byte[] Blob { get; set; }
|
||||
bool IsValid();
|
||||
}
|
||||
```
|
||||
**Behavior:** Represents an Electronic ID with a string identifier, binary blob data, and a validation method.
|
||||
|
||||
---
|
||||
|
||||
### IVoltageInsertionEnabled
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IVoltageInsertionEnabled
|
||||
{
|
||||
bool VoltageInsertionEnabled { get; }
|
||||
}
|
||||
```
|
||||
**Behavior:** Read-only indicator that voltage insertion was detected as enabled on the hardware.
|
||||
|
||||
---
|
||||
|
||||
### IInformation
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IInformation
|
||||
{
|
||||
IInfoResult DASInfo { get; set; }
|
||||
void SetDASInfo(IInfoResult dasInfo, bool bSetInDb = true);
|
||||
void SetDASInfo();
|
||||
}
|
||||
```
|
||||
**Behavior:** Provides access to DAS hardware information. `SetDASInfo` accepts an `IInfoResult` with an optional flag to persist to database (defaults to `true`). The parameterless overload implies a refresh or default initialization.
|
||||
|
||||
---
|
||||
|
||||
### IConfigurationData
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IConfigurationData
|
||||
{
|
||||
IDASModule[] Modules { get; set; }
|
||||
IEID[] IDs { get; set; }
|
||||
string TestID { get; set; }
|
||||
string TestSetupUniqueId { get; set; }
|
||||
string InstanceID { get; set; }
|
||||
string Description { get; set; }
|
||||
bool ClearSetup { get; set; }
|
||||
int[] DisplayOrder { get; set; }
|
||||
int DasDisplayOrder { get; set; }
|
||||
string UDPReceiveAddress { get; set; }
|
||||
|
||||
int NumberOfConfiguredChannels();
|
||||
int NumberOfChannels();
|
||||
int NumberOfDownloadChannels();
|
||||
int GetDisplayOrder(uint channelIdx);
|
||||
|
||||
void WriteXml(XmlWriter writer);
|
||||
void ReadXml(XmlReader reader);
|
||||
XmlSchema GetSchema();
|
||||
}
|
||||
```
|
||||
**Behavior:** Central configuration container for a DAS setup. Manages module array, EIDs, test identification, and channel counts. Supports XML serialization via `WriteXml`/`ReadXml`. `NumberOfDownloadChannels` excludes UART and StreamOut channels.
|
||||
|
||||
---
|
||||
|
||||
### IConfiguration
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IConfiguration
|
||||
{
|
||||
string TestDirectory { get; set; }
|
||||
bool SupportsAutoDetect { get; }
|
||||
IConfigurationData ConfigData { get; set; }
|
||||
ClockSyncProfile DASClockSyncProfile { get; set; }
|
||||
|
||||
void QueryConnectedDevices();
|
||||
int GetDASDisplayOrder();
|
||||
int[] GetChannelDisplayOrder();
|
||||
void SetDASDisplayOrder(int order);
|
||||
void SetChannelDisplayOrder(int[] order);
|
||||
}
|
||||
```
|
||||
**Behavior:** High-level configuration interface. `QueryConnectedDevices` performs hardware discovery. Display order methods control UI ordering of DAS units and channels. `SupportsAutoDetect` indicates bridge/IEPE channel type auto-detection capability.
|
||||
|
||||
---
|
||||
|
||||
### IInfoResultModule
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IInfoResultModule
|
||||
{
|
||||
string SerialNumber { get; set; }
|
||||
string FirmwareVersion { get; set; }
|
||||
int ModuleArrayIndex { get; set; }
|
||||
uint NumberOfChannels { get; set; }
|
||||
uint[] SupportedSampleRates { get; set; }
|
||||
Dictionary<uint, float> SampleRate2AAFrequency { get; set; }
|
||||
ulong? MaxEventStorageSpaceInBytes { get; set; }
|
||||
uint? NumberOfBytesPerSampleClock { get; set; }
|
||||
double MaxRecordingSamples { get; set; }
|
||||
DateTime? CalibrationDate { get; set; }
|
||||
bool RackIsUnreadable { get; set; }
|
||||
DFConstantsAndEnums.ModuleType TypeOfModule { get; set; }
|
||||
DFConstantsAndEnums.RecordingMode[] SupportedModes { get; set; }
|
||||
bool IsProgrammable { get; set; }
|
||||
}
|
||||
```
|
||||
**Behavior:** Hardware metadata for a single module. Includes sample rate to anti-aliasing filter frequency mapping. `RackIsUnreadable` indicates armed TDAS rack state. Storage properties may be null if specified at DAS level instead.
|
||||
|
||||
---
|
||||
|
||||
### IDASChannel
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IDASChannel
|
||||
{
|
||||
DFConstantsAndEnums.ConfigMode ConfigurationMode { get; set; }
|
||||
bool DiagnosticsMode { get; set; }
|
||||
int ModuleChannelNumber { get; set; }
|
||||
int AbsoluteDisplayOrder { get; set; }
|
||||
double UnitConverision { get; set; } // Note: typo in source
|
||||
bool AtCapacity { get; set; }
|
||||
double CapacityOutputIsBasedOn { get; set; }
|
||||
SensorConstants.SensUnits SensitivityUnits { get; set; }
|
||||
byte Number { get; }
|
||||
IEID[] IDs { get; set; }
|
||||
DateTime EventStartTime { get; set; }
|
||||
bool LevelTriggerSeen { get; set; }
|
||||
int? LevelTriggerT0AdjustmentSamples { get; set; }
|
||||
int QualificationSamples { get; set; }
|
||||
|
||||
string IsoChannelName { get; set; }
|
||||
string ChannelGroupName { get; set; }
|
||||
string UserCode { get; set; }
|
||||
string UserChannelName { get; set; }
|
||||
string LinearSensorCalibration { get; set; }
|
||||
string UserValue1 { get; set; }
|
||||
string UserValue2 { get; set; }
|
||||
string UserValue3 { get; set; }
|
||||
int IdType { get; set; }
|
||||
|
||||
bool IsConfigured();
|
||||
|
||||
void WriteElementStart(XmlWriter writer);
|
||||
void WriteElementEnd(XmlWriter writer);
|
||||
void WriteXmlCRC32(XmlWriter writer);
|
||||
void WriteXml(XmlWriter writer);
|
||||
void ReadXml(XmlReader reader);
|
||||
XmlSchema GetSchema();
|
||||
}
|
||||
```
|
||||
**Behavior:** Represents a single data acquisition channel. `Number` is the stack channel number (0-based, read-only). `LevelTriggerT0AdjustmentSamples` is null if channel did not directly receive a level trigger. Supports CRC32-included XML serialization via `WriteXmlCRC32`.
|
||||
|
||||
---
|
||||
|
||||
### IInfoResult
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IInfoResult
|
||||
{
|
||||
string MACAddress { get; set; }
|
||||
IInfoResultModule[] Modules { get; set; }
|
||||
List<Common.Classes.Hardware.ExternalTilt> ActiveExternalTilts { get; set; }
|
||||
uint MaxNumberOfModules { get; set; }
|
||||
ulong? MaxEventStorageSpaceInBytes { get; set; }
|
||||
uint? NumberOfBytesPerSampleClock { get; set; }
|
||||
bool? DeviceStreamingOnly { get; set; }
|
||||
int NumberOfBridgeChannels { get; set; }
|
||||
IEID BatteryID { get; set; }
|
||||
bool HasBattery { get; }
|
||||
DateTime? CalibrationDate { get; set; }
|
||||
|
||||
byte MapDASChannelNumber2RealtimeChannelNumber(int channelNumber);
|
||||
byte MapDASChannelNumber2ModuleArrayIndex(int channelNumber);
|
||||
byte MapDASChannelNumber2ModuleDeviceID(int channelNumber);
|
||||
byte MapDASChannelNumber2ModuleChannelNumber(int channelNumber);
|
||||
byte MapModuleArrayIndexAndChannelNum2DASChannel(int moduleArrayIdx, int channelNumber);
|
||||
}
|
||||
```
|
||||
**Behavior:** Aggregated hardware info for an entire DAS unit. Provides channel number mapping functions between DAS-global and module-local addressing. `CalibrationDate` returns `1970-01-01` if invalid/NA. `DeviceStreamingOnly` is null if hardware doesn't support streaming-only configuration.
|
||||
|
||||
---
|
||||
|
||||
### IDASModule
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IDASModule
|
||||
{
|
||||
IDASChannel[] Channels { get; set; }
|
||||
IEID[] IDs { get; set; }
|
||||
int ModuleArrayIndex { get; set; }
|
||||
|
||||
double RequestedPreTriggerSeconds { get; set; }
|
||||
double RequestedPostTriggerSeconds { get; set; }
|
||||
double PreTriggerSeconds { get; set; }
|
||||
double PostTriggerSeconds { get; set; }
|
||||
int NumberOfEvents { get; set; }
|
||||
int WakeUpMotionTimeout { get; set; }
|
||||
|
||||
string FirmwareVersion { get; set; }
|
||||
string Description { get; set; }
|
||||
ulong? MaxEventStorageSpaceInBytes { get; set; }
|
||||
ulong NumberOfSamples { get; set; }
|
||||
ulong[] TriggerSampleNumbers { get; set; }
|
||||
ulong Start
|
||||
Reference in New Issue
Block a user