Files
DP44/enriched-partialglm/Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition.md

236 lines
11 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestMetadata.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestGraphs.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestSetupMetadata.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestSummary.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestRunMetadata.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestModule.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestCalculatedChannel.cs
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestChannel.cs
generated_at: "2026-04-16T12:25:55.415422+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "2ef74d227b33f018"
---
# Test Definition Interfaces Documentation
## 1. Purpose
This module defines the core data contract interfaces for test definition and metadata within the DTS (Data Test System) viewer application. It provides the abstraction layer for representing test runs, test setups, hardware modules, channels (both physical and calculated), and graph configurations. These interfaces model complex data acquisition scenarios including sensor configurations, calibration parameters, sample data statistics, and test execution metadata, enabling decoupling between data models and their consumers.
---
## 2. Public Interface
### ITestMetadata
Container interface aggregating test run and setup metadata.
| Member | Type | Description |
|--------|------|-------------|
| `TestRun` | `ITestRunMetadata` | Reference to test run metadata |
| `TestSetup` | `ITestSetupMetadata` | Reference to test setup metadata |
---
### ITestGraphs
Represents a graph configuration grouping channels for visualization.
| Member | Type | Description |
|--------|------|-------------|
| `Name` | `string` | Graph name identifier |
| `HardwareChannelName` | `string` | Associated hardware channel name |
| `ChannelIds` | `List<string>` | List of channel IDs belonging to this graph |
| `Channels` | `List<ITestChannel>` | List of resolved test channel objects |
---
### ITestSetupMetadata
Defines metadata for a test setup configuration.
| Member | Type | Description |
|--------|------|-------------|
| `SetupName` | `string` | Name of the test setup |
| `TimeStamp` | `DateTime` | Timestamp when setup was created/modified |
| `TestGraphs` | `List<ITestGraphs>` | Collection of graph configurations |
| `CalibrationBehavior` | `CalibrationBehaviors` | Calibration behavior setting (from `DTS.Common.Enums.Sensors`) |
---
### ITestSummary : IBaseClass
Provides summary information about a test for listing/display purposes.
| Member | Type | Description |
|--------|------|-------------|
| `Id` | `string` | Unique test identifier |
| `Name` | `string` | Test name |
| `Description` | `string` | Test description |
| `ChannelCount` | `int` | Total number of channels |
| `TestDate` | `DateTime` | Date the test was executed |
| `DataType` | `string` | Data type identifier |
| `IsSelected` | `bool` | Selection state for UI |
| `Graphs` | `List<ITestGraphs>` | Collection of graphs |
| `Channels` | `List<ITestChannel>` | Collection of physical channels |
| `CalculatedChannels` | `List<ITestChannel>` | Collection of calculated channels |
| `Parent` | `IBaseViewModel` | Reference to parent view model |
---
### ITestRunMetadata : INotifyPropertyChanged
Defines metadata for a single test run execution.
| Member | Type | Description |
|--------|------|-------------|
| `Name` | `string` | Run name |
| `Id` | `string` | Run identifier |
| `Description` | `string` | Run description |
| `InlineSerializedData` | `bool` | Whether data is serialized inline |
| `TestGuid` | `string` | Globally unique test identifier |
| `FaultFlags` | `int` | Bitmask of fault flags |
| `Software` | `string` | Software name used for acquisition |
| `SoftwareVersion` | `string` | Software version |
| `DataType` | `string` | Data type identifier |
| `FileDate` | `DateTime` | File creation/modification date |
| `FilePath` | `string` | Path to the data file |
| `Modules` | `List<ITestModule>` | Collection of hardware modules |
| `Channels` | `List<ITestChannel>` | Collection of channels |
| `CalculatedChannels` | `List<ITestChannel>` | Collection of calculated channels |
---
### ITestModule : INotifyPropertyChanged
Represents a hardware module used during test acquisition.
| Member | Type | Description |
|--------|------|-------------|
| `SerialNumber` | `string` | Module serial number |
| `BaseSerialNumber` | `string` | Base serial number |
| `AaFilterRateHz` | `int` | Anti-aliasing filter rate in Hz |
| `Number` | `int` | Module number |
| `NumberOfSamples` | `int` | Total samples recorded |
| `UnsubsampledNumberOfSamples` | `int` | Sample count before subsampling |
| `RequestedPostTriggerSeconds` | `double` | Requested post-trigger duration |
| `RequestedPreTriggerSeconds` | `double` | Requested pre-trigger duration |
| `PostTriggerSeconds` | `double` | Actual post-trigger duration |
| `PreTriggerSeconds` | `double` | Actual pre-trigger duration |
| `RecordingMode` | `string` | Recording mode identifier |
| `SampleRateHz` | `int` | Sample rate in Hz |
| `StartRecordSampleNumber` | `int` | Sample number at recording start |
| `NumberOfChannels` | `int` | Number of channels on module |
| `InlineSerializedData` | `bool` | Whether data is inline serialized |
| `StartRecordTimestampSec` | `int` | Recording start timestamp (seconds) |
| `StartRecordTimestampNanoSec` | `int` | Recording start timestamp (nanoseconds) |
| `TriggerTimestampSec` | `int` | Trigger timestamp (seconds) |
| `TriggerTimestampNanoSec` | `int` | Trigger timestamp (nanoseconds) |
| `TriggerSampleNumbers` | `List<ulong>` | List of trigger sample numbers |
| `PTPMasterSync` | `bool` | PTP master sync status |
| `TiltSensorAxisXDegreesPre` | `int` | Pre-test X-axis tilt in degrees |
| `TiltSensorAxisYDegreesPre` | `int` | Pre-test Y-axis tilt in degrees |
| `TiltSensorAxisZDegreesPre` | `int` | Pre-test Z-axis tilt in degrees |
| `TiltSensorAxisXDegreesPost` | `int` | Post-test X-axis tilt in degrees |
| `TiltSensorAxisYDegreesPost` | `int` | Post-test Y-axis tilt in degrees |
| `TiltSensorAxisZDegreesPost` | `int` | Post-test Z-axis tilt in degrees |
| `TemperatureLocation1Pre` through `TemperatureLocation4Pre` | `int` | Pre-test temperatures at 4 locations |
| `TemperatureLocation1Post` through `TemperatureLocation4Post` | `int` | Post-test temperatures at 4 locations |
| `Channels` | `List<ITestChannel>` | Collection of channels |
| `CalculatedChannels` | `List<ITestChannel>` | Collection of calculated channels |
---
### ITestCalculatedChannel : INotifyPropertyChanged
Defines a calculated/virtual channel derived from other channels.
| Member | Type | Description |
|--------|------|-------------|
| `SerialNumber` | `string` | Serial number |
| `ChannelId` | `string` | Channel identifier |
| `Description` | `string` | Channel description |
| `ChannelGroupName` | `string` | Group name for channel |
| `ChannelType` | `string` | Channel type identifier |
| `Number` | `int` | Channel number |
| `DigitalMultiplier` | `string` | Digital multiplier setting |
| `DigitalMode` | `string` | Digital mode setting |
| `Start` | `DateTime` | Start timestamp |
| `Bridge` | `string` | Bridge configuration |
| `BridgeResistanceOhms` | `int` | Bridge resistance in ohms |
| `ZeroPoint` | `double` | Zero point value |
| `ChannelDescriptionString` | `string` | Formatted description string |
| `ChannelName2` | `string` | Secondary channel name |
| `HardwareChannelName` | `string` | Hardware channel name |
| `DesiredRange` | `double` | Desired measurement range |
| `Sensitivity` | `double` | Sensitivity value |
| `SoftwareFilter` | `string` | Software filter configuration |
| `ProportionalToExcitation` | `bool` | Whether proportional to excitation |
| `IsInverted` | `bool` | Whether signal is inverted |
| `LinearizationFormula` | `string` | Linearization formula |
| `IsSubsampled` | `bool` | Whether channel is subsampled |
| `AbsoluteDisplayOrder` | `int` | Display order index |
| `LastCalibrationDate` | `DateTime` | Last calibration date |
| `SensorId` | `string` | Sensor identifier |
| `OffsetToleranceLowMv` | `int` | Low offset tolerance in mV |
| `OffsetToleranceHighMv` | `int` | High offset tolerance in mV |
| `DataFlag` | `int` | Data flag value |
| `ExcitationVoltage` | `int` | Excitation voltage |
| `Eu` | `string` | Engineering units |
| `CalSignalEnabled` | `bool` | Calibration signal enabled |
| `ShuntEnabled` | `bool` | Shunt enabled |
| `VoltageInsertionCheckEnabled` | `bool` | Voltage insertion check enabled |
| `RemoveOffset` | `bool` | Whether to remove offset |
| `ZeroMethod` | `string` | Zero method identifier |
| `ZeroAverageWindowBegin` | `double` | Zero averaging window start |
| `ZeroAverageWindowEnd` | `double` | Zero averaging window end |
| `InitialEu` | `int` | Initial engineering units |
| `InitialOffset` | `string` | Initial offset value |
| `UnsubsampledSampleRateHz` | `int` | Sample rate before subsampling |
| `MeasuredShuntDeflectionMv` | `double` | Measured shunt deflection in mV |
| `TargetShuntDeflectionMv` | `double` | Target shunt deflection in mV |
| `MeasuredExcitationVoltage` | `double` | Measured excitation voltage |
| `FactoryExcitationVoltage` | `double` | Factory excitation voltage |
| `TimeOfFirstSample` | `double` | Timestamp of first sample |
| `Multiplier` | `int` | Multiplier value |
| `UserOffsetEu` | `int` | User-defined offset in EU |
| `UnitConversion` | `int` | Unit conversion flag |
| `AtCapacity` | `bool` | Whether at capacity |
| `CapacityOutputIsBasedOn` | `int` | Capacity output reference |
| `SourceChannelNumber` | `string` | Source channel number |
| `SourceModuleNumber` | `string` | Source module number |
| `SourceModuleSerialNumber` | `string` | Source module serial number |
| `Calculation` | `string` | Calculation formula/expression |
| `SampleRateHz` | `int` | Sample rate in Hz |
| `SensitivityUnits` | `string` | Sensitivity units |
| `SensorCapacity` | `int` | Sensor capacity |
---
### ITestChannel : INotifyPropertyChanged
Represents a physical measurement channel with full configuration and statistics.
**Identity & Hierarchy:**
| Member | Type | Description |
|--------|------|-------------|
| `Group` | `string` | Group identifier |
| `SubGroup` | `string` | Sub-group identifier |
| `TestId` | `string` | Test identifier |
| `TestSetupName` | `string` | Parent test setup name |
| `ModuleSerialNumber` | `string` | Parent module serial number |
| `SerialNumber` | `string` | Channel serial number |
| `ChannelId` | `string` | Channel identifier |
| `ChannelDisplayName` | `string` | Display name |
| `Description` | `string` | Channel description |
| `ChannelGroupName` | `string` | Channel group name |
| `ChannelType` | `string` | Channel type |
| `Number` | `int` | Channel number |
| `ChannelNumber` | `int` | Channel number (alternate) |
| `ParentTestSetup` | `ITestSetupMetadata` | Reference to parent test setup |
| `ParentModule` | `ITestModule` | Reference to parent module |
| `Parent` | `IBaseViewModel` | Reference to parent view model |
**Graph Configuration:**
| Member | Type | Description |
|--------|------|-------------|
| `IsGraphChannel` | `bool` | Whether this is a graph channel |
| `GraphName` | `string` | Associated graph name |
| `ChannelColor` | `Color` | Display color for channel |
| `Xmax` | `double` | Maximum X value |
| `