--- 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 `` elements and adds them to the internal list. | ### `CrashDesignerTestSetup.Group` | Member | Signature | Description | |--------|-----------|-------------| | `Name` | `public string Name { get; set; }` | Group name from `` 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 `` 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 `` element, including `` 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` | `