Files
2026-04-17 14:55:32 -04:00

6.8 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/Classes/Enums.cs
2026-04-16T04:57:15.509262+00:00 Qwen/Qwen3-Coder-Next-FP8 1 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: DontWarnWarnDontAllow 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.