8.7 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-17T15:31:50.629398+00:00 | zai-org/GLM-5-FP8 | 1 | 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:
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:
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:
public interface IVoltageInsertionEnabled
{
bool VoltageInsertionEnabled { get; }
}
Behavior: Read-only indicator that voltage insertion was detected as enabled on the hardware.
IInformation
Signature:
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:
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:
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:
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:
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:
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:
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