Files
DP44/enriched-qwen3-coder-next/DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/Classes.md

105 lines
6.8 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/Classes/Enums.cs
generated_at: "2026-04-16T04:57:15.509262+00:00"
model: "Qwen/Qwen3-Coder-Next-FP8"
schema_version: 1
sha256: "a6932d6dcfd8e263"
---
# Classes
### **Purpose**
This module defines a set of core enumerations used throughout the `DatabaseExport` subsystem for version 57 of the database schema. These enums standardize the representation of test configuration settings (`TestSettingsEnum`), data acquisition modes (`RecordingModes`), sensor compatibility policies (`IsoChannelSensorCompatibilityLevels`), export format capabilities (`SupportedExportFormatBitFlags`), template tag identifiers (`TestTemplateTags`), and validation behavior levels (`StrictLevel`). They serve as foundational constants for serialization, UI binding, and logic branching in downstream export, configuration, and test execution components.
---
### **Public Interface**
#### **`TestSettingsEnum`**
- **Definition**: `public enum TestSettingsEnum`
- **Description**: Represents non-columned test settings—i.e., configuration flags or steps not stored as database columns but used in test logic or UI. Values correspond to checklist items and warmup/excitation settings.
- **Members**:
- `ArmCheckListStep`
- `CheckListInputVoltageCheck`
- `CheckListBatteryVoltageCheck`
- `CheckListSquibResistanceCheck`
- `CheckListSensorIDCheck`
- `CheckListTriggerStartCheck`
- `EW` *(ExcitationWarmup)*
- `CheckListMustPass`
#### **`RecordingModes`**
- **Definition**: `public enum RecordingModes`
- **Description**: Specifies the data acquisition recording strategy during a test.
- **Members**:
- `CircularBuffer`: Continuous overwrite buffer; only recent data retained until triggered.
- `Recorder`: Standard sequential recording from start to end.
- `HybridRecorder`: Combination of circular buffer pre-trigger and sequential post-trigger recording.
#### **`IsoChannelSensorCompatibilityLevels`**
- **Definition**: `public enum IsoChannelSensorCompatibilityLevels`
- **Description**: Controls how the system responds to incompatibility between ISO channels and connected sensors.
- **Members**:
- `DontWarn`: No warning or error raised for incompatibility.
- `Warn`: Log warning but allow proceeding.
- `DontAllow`: Block test execution if incompatibility detected.
#### **`SupportedExportFormatBitFlags`**
- **Definition**: `[Flags] public enum SupportedExportFormatBitFlags`
- **Description**: Bit-flag enumeration of supported export formats. Used to compose sets of formats via bitwise OR. *Note: `diademfiltered` is commented out and unused.*
- **Members** (selected notable examples):
- `csvunfiltered = 0x1`
- `isounfiltered = 0x4`
- `tdmsadc = 0x10`
- `csvfiltered = 0x80`
- `isofiltered = 0x200`
- `HDFUnfiltered = 0x10000`
- `xlsxfiltered = 0x100000`
- `ChryslerDDAS = 0x8000`
- **Full list**: All 20 explicitly defined flags (including `none = 0x0`) are present; no gaps except `diademfiltered`.
#### **`TestTemplateTags`**
- **Definition**: `public enum TestTemplateTags`
- **Description**: Defines string identifiers used as keys in test templates (e.g., XML/JSON config files) to map UI elements, data fields, or logic hooks. Includes both legacy and current test configuration properties.
- **Members**: 102 named constants, e.g.:
- `UploadData`, `UploadFolder`, `CommonLine`, `AllCustomers`, `Test`, `SamplesPerSecond`, `PreTriggerSeconds`, `RecordingMode`, `EW`, `ExcitationWarmupTimeMS`, `TestDirectory`, `ISFFile`, `GroupsStepValid`, etc.
- **Note**: Duplicates exist between `TestSettingsEnum` (e.g., `EW`, `ArmCheckListStep`, `CheckListBatteryVoltageCheck`, etc.)—this is intentional per source.
#### **`StrictLevel`**
- **Definition**: `public enum StrictLevel`
- **Description**: Controls strictness of validation or schema compliance during export or import.
- **Members**:
- `Strict`: Enforce full compliance; fail on mismatches.
- `UpdateTable`: Allow schema updates/relaxations (e.g., add missing columns).
---
### **Invariants**
- `SupportedExportFormatBitFlags` is explicitly marked `[Flags]`; valid combinations must be constructed via bitwise OR of individual flags (e.g., `csvunfiltered | tdmsadc`).
- Values in `TestTemplateTags` include both direct mappings to `TestSettingsEnum` members (e.g., `EW`, `ArmCheckListStep`) and additional tags—indicating that `TestTemplateTags` serves as a superset of template keys, not a one-to-one mapping.
- `RecordingModes` has exactly three mutually exclusive values; no combination is intended or supported.
- `IsoChannelSensorCompatibilityLevels` values form a strict hierarchy: `DontWarn``Warn``DontAllow` in enforcement level.
- No enum value is assigned explicitly beyond `SupportedExportFormatBitFlags` (which uses hex literals); all others rely on implicit sequential numbering starting at 0.
---
### **Dependencies**
- **Internal**: This module resides in the `DatabaseExport` namespace and is likely consumed by:
- Classes in the same `DatabaseExport` project (e.g., export pipeline, test runner, config parser).
- UI layers that bind `TestTemplateTags` to form fields or template variables.
- Validation modules using `StrictLevel` and `IsoChannelSensorCompatibilityLevels`.
- **External**: Depends solely on `System` (no external NuGet or third-party dependencies inferred).
- **No reverse dependencies inferred**: This file defines *only* enums; no class or method implementations are present to indicate what *imports* it.
---
### **Gotchas**
- **Duplicate enum members across `TestSettingsEnum` and `TestTemplateTags`**: Identical names (e.g., `EW`, `ArmCheckListStep`, `CheckListBatteryVoltageCheck`) appear in both enums. This suggests they are *not* semantically identical—`TestSettingsEnum` likely represents internal logic flags, while `TestTemplateTags` represents template key strings. Confusing them may cause runtime errors.
- **`diademfiltered` is commented out**: Though defined as `0x100`, it is unused and commented. Do *not* assume support for Diadem filtered exports unless validated in consuming code.
- **`LastMmodifiedBy` typo**: The enum member `LastMmodifiedBy` (with double `m`) likely contains a typo for `LastModifiedBy`. Verify usage in consuming code before renaming.
- **`EW` ambiguity**: Appears in both `TestSettingsEnum` and `TestTemplateTags`. In `TestTemplateTags`, it likely maps to a template key (e.g., `<EW>...</EW>`), while in `TestSettingsEnum` it represents a checklist step. Ensure context distinguishes usage.
- **No documentation on `StrictLevel.UpdateTable` behavior**: The meaning of “UpdateTable” is not self-evident; its semantics (e.g., auto-migrate schema?) must be verified in dependent code.
- **`TestTemplateTags` includes `GroupsStepValid`**: Suggests a specific validation state for group-based test steps; ensure logic handling this tag aligns with actual test execution flow.
None identified beyond these.