Files
DP44/docs/ai/DataPRO/EquipmentExchange.md

98 lines
7.3 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- DataPRO/EquipmentExchange/CrashDesignerTestSetup.cs
generated_at: "2026-04-17T15:55:10.610768+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "fb63ad5e88e40ea8"
---
# Documentation: CrashDesignerTestSetup
## 1. Purpose
`CrashDesignerTestSetup` is a data model class responsible for deserializing XML-based test setup configuration files used in crash test/data acquisition systems. It provides a hierarchical object model representing test metadata (`GeneralSection`), channel groupings (`ChannelGroupsSection`), and data acquisition hardware configuration (`DataAcquisitionSection` with nested `DataAcquisitionUnit` and `AnalogInChannel` definitions). The class exists to bridge external XML configuration files with the internal object representation used by the EquipmentExchange system.
---
## 2. Public Interface
### `CrashDesignerTestSetup` (main class)
| Member | Signature | Description |
|--------|-----------|-------------|
| `Name` | `public string Name { get; set; }` | Name of the test setup, read from the `Name` attribute of the `TestSetupDefinition` XML element. |
| `General` | `public GeneralSection General { get; set; }` | Contains test metadata (date, description, trigger times, etc.). Initialized to new instance. |
| `ChannGroups` | `public ChannelGroupsSection ChannGroups { get; set; }` | Contains channel group definitions. Initialized to new instance. |
| `DataAcquisition` | `public DataAcquisitionSection DataAcquisition { get; set; }` | Contains DAQ unit configurations. Initialized to new instance. |
| `GetEqxElectricalMethod` | `public static void GetEqxElectricalMethod(string eqxBridge, out bool isProportional, out DTS.Common.Enums.Sensors.SensorConstants.BridgeType bridgeType)` | Maps a bridge type string (e.g., "PiezoInput", "HalfBridge", "QuarterBridgeActive") to a `BridgeType` enum value and a boolean indicating if the configuration is proportional. Default output is `isProportional = true`, `bridgeType = FullBridge`. |
| `ReadXML` | `public static CrashDesignerTestSetup ReadXML(string importFile)` | Static factory method that loads an XML file from the given path and returns a populated `CrashDesignerTestSetup` instance. Expects a root element named `TestSetupDefinition`. |
### `CrashDesignerTestSetup.GeneralSection`
| Member | Signature | Description |
|--------|-----------|-------------|
| `DateGenerated` | `public DateTime DateGenerated { get; set; }` | Parsed using invariant culture with `AssumeUniversal` style. |
| `GeneratorName` | `public string GeneratorName { get; set; }` | Name of the generator that created the file. |
| `Description` | `public string Description { get; set; }` | Free-text description. |
| `TestType` | `public string TestType { get; set; }` | Type identifier for the test. |
| `PreTriggerTime` | `public double PreTriggerTime { get; set; }` | Pre-trigger duration. |
| `PostTriggerTime` | `public double PostTriggerTime { get; set; }` | Post-trigger duration. |
| `OutputDataDirectory` | `public string OutputDataDirectory { get; set; }` | Output path for data. |
| `TestSetupGroup` | `public string[] TestSetupGroup { get; set; }` | Array of group names; setter clears and repopulates internal list. |
| `ReadXml` | `public void ReadXml(XmlElement root)` | Populates properties from child elements matching `Fields` enum names. |
| `Fields` | `public enum Fields` | Enum values: `DateGenerated`, `GeneratorName`, `Description`, `TestType`, `PreTriggerTimeReadout`, `PostTriggerTimeReadout`, `OutputDataDirectory`, `TestSetupGroup`. |
### `CrashDesignerTestSetup.ChannelGroupsSection`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Groups` | `public Group[] Groups { get; set; }` | Array of `Group` objects; setter clears and repopulates internal list. |
| `ReadXml` | `public void ReadXml(XmlElement root)` | Reads child `<Group>` elements and adds them to the internal list. |
### `CrashDesignerTestSetup.Group`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Name` | `public string Name { get; set; }` | Group name from `<Name>` element. |
| `Id` | `public string Id { get; set; }` | From `Id` attribute on the group element. |
| `Parent` | `public string Parent { get; set; }` | From `Parent` attribute on the group element. |
| `Description` | `public string Description { get; set; }` | From `<Description>` element. |
| `HasProperty` | `public bool HasProperty(string key)` | Returns true if property key exists in internal dictionary. |
| `GetProperty` | `public string GetProperty(string key)` | Returns property value by key (throws if not found). |
| `SetProperty` | `public void SetProperty(string key, string value)` | Sets a property in the internal dictionary. |
| `ReadXml` | `public static Group ReadXml(XmlElement root)` | Static factory that parses a `<Group>` element, including `<Property Name="..." Value="..."/>` children. |
| `KnownFormats` | `public enum KnownFormats` | Enum with `Description` attributes for known property keys (e.g., `DataFormat`, `ISOTitle`, `Regulation`, `Velocity`, `Mass`, etc.). |
### `CrashDesignerTestSetup.DataAcquisitionSection`
| Member | Signature | Description |
|--------|-----------|-------------|
| `DataAcquisitionUnits` | `public DataAcquisitionUnit[] DataAcquisitionUnits { get; set; }` | Array of DAQ units. |
| `ReadXml` | `public void ReadXml(XmlElement element)` | Adds a single `DataAcquisitionUnit` parsed from the element. |
### `CrashDesignerTestSetup.DataAcquisitionUnit`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Enabled` | `public bool Enabled { get; set; }` | From `Enabled` attribute. |
| `DataBaseUID`, `Name`, `Type`, `SubType`, `FirmwareVersion`, `ModelDescription`, `DefaultTriggerString`, `Manufacturer`, `Description`, `Status`, `Label`, `SerialNr`, `TCPIPAddress`, `ControllerNr`, `RS422UnitNr` | `public string { get; set; }` | Various string identifiers and configuration values. |
| `ADRangeNegV`, `ADRangePosV`, `ADResolutionV`, `GainRangeMax1/2`, `GainRangeMin1/2`, `GainRangeStep1/2`, `FilterFrequencyHz`, `SampleFrequencyHz`, `MaxSampleFrequencyHz`, `MinSampleFrequencyHz`, `BitResolution` | `public double { get; set; }` | Numeric hardware parameters. |
| `UseRS422Communication` | `public bool UseRS422Communication { get; set; }` | Communication mode flag. |
| `RS422ComPort`, `AnalogInputChannelCount`, `DigitalInputChannelCount`, `DigitalOutputChannelCount`, `SystemChannelCount`, `StartAnalogChannelNr` | `public int { get; set; }` | Integer channel counts and port numbers. |
| `Trigger` | `public TriggerSection Trigger { get; set; }` | Nested trigger configuration. |
| `AnalogChannels` | `public AnalogInChannelSection AnalogChannels { get; set; }` | Collection of analog input channels. |
| `ReadXml` | `public static DataAcquisitionUnit ReadXml(XmlElement root)` | Static factory parsing all child elements. |
### `CrashDesignerTestSetup.DataAcquisitionUnit.TriggerSection`
| Member | Signature | Description |
|--------|-----------|-------------|
| `TriggerMode`, `RecBus`, `T0Bus`, `Filter` | `public string { get; set; }` | Trigger configuration strings. |
| `ReadXml` | `public void ReadXml(XmlElement root)` | Populates from child elements. |
### `CrashDesignerTestSetup.DataAcquisitionUnit.AnalogInChannelSection`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Channels` | `