16 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-16T02:53:19.296009+00:00 | Qwen/Qwen3-Coder-Next-FP8 | 1 | a48c0a293b2d8942 |
DTS.Common.Enums Module Documentation
1. Purpose
This module defines a comprehensive set of enumerations used throughout the DTS (Data Acquisition and Test System) codebase to represent system states, configuration options, data formats, and operational modes. These enums serve as strongly-typed constants for configuration, state management, UI binding, data serialization, and inter-module communication. They enable type safety, improve code readability, and support UI frameworks through custom type converters and WPF markup extensions. The module is foundational to the system’s configuration and runtime behavior, particularly in areas involving data acquisition, export/import, device communication (UART, CAN, UDP), and user interface presentation.
2. Public Interface
Enums (All in DTS.Common.Enums namespace unless otherwise noted)
Basic Enums
-
GPSSentenceTypes
Represents supported GPS NMEA sentence types.
Values:GPGGA,GPRMC. -
UartDataFormat
Specifies UART data format modes.
Values:Binary,PlainText,NMEA. -
NetworkSelection
Defines how a network is selected.
Values:Default,NetworkId,NetworkDesc. -
ScriptTypes
Indicates script type for execution.
Values:Migration,Initialization.
UsesEnumDescriptionTypeConverterfor UI display. -
DestructiveTestChoices
Represents user selection for destructive test confirmation.
Values:Yes,No,NotSet. -
InitializationTypes
Specifies initialization method type.
Values:Aero,Crash,TSRAIR.
UsesEnumDescriptionTypeConverter. -
StringReplacementMode
Controls string replacement behavior.
Values:All,First,Last.
UsesEnumDescriptionTypeConverter. -
MigrationResult
Result status of a migration operation.
Values:OK,ExceptionThrown,WarningAllowStreamingModesWasNotMigrated.
UsesEnumDescriptionTypeConverter. -
SLICE6Properties
UDP multicast properties for SLICE6 autodiscovery.
Values:SLICE6MulticastAddress,SLICE6MulticastCommandPort,SLICE6MulticastResponsePort. -
RibbonTabNames
Static class defining constants for ribbon tab names (currently"TBD"for all).
Members:Tab1,Tab2,Tab3. -
IsoSupportLevels
Defines ISO channel support levels.
Values:ISO_ONLY,TRANSITORY,NO_ISO.
UsesEnumDescriptionTypeConverter; descriptions sourced from[Description]attributes. -
TabControlOperation
Represents tab control modification operations.
Values:AddedItem,RemovedItem. -
IncludeOverwriteName
Specifies options for including/overwriting names in UI.
Values:IncludedCheckBox,OverwriteCheckBox,ImportingTestSetupName.
UsesEnumDescriptionTypeConverter. -
ExportChoices
Defines export configuration options.
Values:ExportType,UnfilteredEUCheckBox,FilteredEUCheckBox,MVCheckBox,ADCCheckBox.
UsesEnumDescriptionTypeConverter. -
RibbonControlOperation
Represents ribbon control modification operations.
Values:AddedItem,RemovedItem. -
LogLevels
Log severity levels.
Values:TRACE=1,DEBUG=2,INFO=3,WARN=4,ERROR=5,CRITICAL=6.
UsesEnumDescriptionTypeConverter; descriptions are resource keys (e.g.,"LogLevel_Trace"). -
ImportFormats(inDTS.Common.Import.Enums)
Supported import file formats.
Values:NOT_SPECIFIED,DTS_XML,ISF,TSF,DTS_CSV,TTS_XML,CrashDesigner_XML,E2X,TTS_CSV. -
ImportFileFormat(inDTS.Common.Import.Enums)
Classifies import files by test setup count.
Values:NoTestSetup,SingleTestSetup,MultipleTestSetup. -
UICultures
Supported UI languages/cultures.
Values:de_DE,en_US,es_ES,fr_FR,it_IT,ja_JP.
UsesEnumDescriptionTypeConverter; descriptions are resource keys (e.g.,"UICultures_de-DE"). -
T0Mode(inDTS.Commonnamespace)
T0 trigger mode.
Values:DAS=0,Test=1.
UsesEnumDescriptionTypeConverter.
Also defines:T0ModeItemSource : IItemsSource— returns list ofT0Modevalues. -
VelocityUnit
Velocity unit options.
Values:KilometerPerHour=0,MeterPerSecond=1.
UsesEnumDescriptionTypeConverter; descriptions are resource keys. -
ImportExtraStatus(inDTS.Common.Import.Enums)
Detailed status during import process.
Values:None,NormalizingIds,ReadingCalibrations, ...,ReadingXML. -
PossibleStatus(inDTS.Common.Import.Enums)
High-level import status.
Values:Waiting,Working,Done,Failed,Reading,Importing. -
IsoViewMode
Controls ISO channel view display mode.
Values:ISOOnly,ISOAndUserCode,UserCodeOnly,ChannelNameOnly.
UsesEnumDescriptionTypeConverter.
Also defines:IsoViewModeStatic— abstract class with static propertyViewMode { get; set; }to hold current view mode across modules. -
PopupWindowImage
Specifies icon type for popup windows.
Values:Warning=0,Error=1,Question=2,Information=3. -
CanArbBaseBitrate
CAN arbitration base bitrates.
Values:_50000=50000,_62000=62000, ...,_1000000=1000000.
UsesEnumDescriptionTypeConverter; descriptions are resource keys. -
UIItemStatus
Status of UI items (e.g., validation results).
Values:None,Success,Failed,Error,Warning. -
DigitalOutputModes
Digital output configuration modes.
Values:NONE=0,FVLH=1,FVHL=2,CCNO=4,CCNC=8.
UsesEnumDescriptionTypeConverter; descriptions are resource keys.
Note: Values are bit flags (powers of two). -
DigitalInputModes
Digital input configuration modes.
Values:NONE=1,TLH=2,THL=4,CCNO=8,CCNC=16.
UsesEnumDescriptionTypeConverter; descriptions are resource keys.
Note: Values are bit flags. -
DataFlag(inDTS.Commonnamespace)
Data quality flags.
Values:None=0,Normal=1,Saturated=2,ZeroCrossing=3,BrokenWire=4,Other=-1.
UsesEnumDescriptionTypeConverter.
Also defines:DataFlagItemSource : IItemsSource. -
SquibMeasurementType
Squib measurement modes.
Values:NONE=0,CURRENT=1,INIT_SIGNAL=2,VOLTAGE=4.
UsesEnumDescriptionTypeConverter. -
SquibFireMode
Squib firing modes.
Values:NONE=1,CAP=2,CONSTANT=4,AC=8.
UsesEnumDescriptionTypeConverter. -
SupportedExportFormatBitFlags
Export format capabilities as bit flags.
Values:none,csvunfiltered,diademadc, ...,Ch10FilteredEU,FIATASC, etc.
Uses[Flags]attribute. -
UartBaudRate
UART baud rates.
Values:_110=110,_300=300, ...,_921600=921600.
UsesEnumDescriptionTypeConverter; underlying type isuint. -
EnumBindingSourceExtension
WPFMarkupExtensionfor binding to enum values in XAML.EnumType { get; set; }: The enum type to bind to.ProvideValue(...): Returns array of enum values (or array +nullif nullable enum).
Validates thatEnumTypeis an enum type.
-
UDPStreamProfile
UDP streaming profiles for S6A/CH10/TmNS.
Values:RTCStreaming=0,DTS_UDP=1,CH10_MANUAL_CONFIG=2, ...,UART_STREAM=14.
UsesEnumDescriptionTypeConverter; underlying type isbyte. -
ExcitationVoltageOptions(inDTS.Common.Enums)
Excitation voltage options.- Nested enum:
ExcitationVoltageOptionwith valuesUndefined=1,Volt2=2,Volt2_5=4, ...,Volt1=64. - Nested class:
VoltageMagnitudeAttribute : Attribute— storesdouble Value. - Nested class:
VoltageMagnitudeAttributeCoder— helper to extractdoublevalues from enum fields.
- Nested enum:
-
ApplicationStatusTypes
Comprehensive list of application status states (e.g.,IDLE,Armed,Failed,Downloading,WaitingForTrigger, etc.).
Over 100 values covering DAS states, error conditions, and UI states. -
FtssHeaderLine
CSV export header line labels.
Values:Headers,TestDate,SampleRate,IsoCode, ...,DataStart,Labels.
Uses[Description]attributes for display text. -
UartHeaders
UART-related header labels.
Values:Latitude,Longitude,Altitude,Velocity,Direction,Valid?,GPRMC,GPGGA. -
XLSXExportHeaderLine
XLSX export header line labels (subset ofFtssHeaderLine).
Values:Headers,TestDate, ...,DataStart,Labels. -
RecordingModes
Data acquisition recording modes.
Values:CircularBuffer,Recorder,S6A_DeviceStreamingOnly, ...,RecordOnBootPlusUART, etc.
Uses[Description]and[ProgrammableTriggers(...)]attributes.
Also defines:NonStreamingRecordingModeItemsSource : RecordingModeItemsSource— filters out streaming modes.RecordingModeItemsSource : IItemsSource— base class for UI item sources.
-
CFCFilter(inDTS.Commonnamespace)
Software filter CFC (Cumulative Filter Characteristic) classes.
Values:None=0,Unfiltered=-2,Class10=17,Class60=100,Class180=300,Class600=1000,Class1000=1650.
UsesEnumDescriptionTypeConverter.
Also defines:CFCFilterItemSource : IItemsSource.CFCFilterDTSFileStringConverter— static class with methods:GetFilterFromString(string)GetIsoCodeFromString(string, bool)FilterClassToString(IFilterClass)FilterClassToCFC(IFilterClass, bool)CFCFilterToCFC(CFCFilter, bool)
-
ClockSyncProfile
Clock synchronization profiles (PTP, IRIG, GPS, PPS, etc.).
Values:None=0,Manual,Slave_E2E, ...,EXT_PPS_Master_E2E_PPS_OUT.
UsesEnumDescriptionTypeConverter; underlying type isbyte.
Also defines:MasterClockSyncProfileItemsSource,SlaveClockSyncProfileItemsSource— derived fromProfileSourceItemsSource.ProfileSourceItemsSource : IItemsSource.
-
InputClockSource
Input clock source bit flags.
Values:None=0,PTP=1,IRIG=2,GPS=4,OnePPS=8, ...,GPS_OnePPS=6.
UsesEnumDescriptionTypeConverter; underlying type isbyte. -
OutputClockSource
Output clock source bit flags.
Values:None=0,PTP=255,PTPMasterE2E=1, ...,EXT_PPS_Master_E2E_PPS_OUT.
UsesEnumDescriptionTypeConverter; underlying type isbyte.
Extension Methods
HeaderLineExtension.GetDescription(this Enum genericEnum)
Returns theDescriptionAttribute.Descriptionvalue if present; otherwise returnsToString().
Used byFtssHeaderLine,UartHeaders,XLSXExportHeaderLine.
3. Invariants
-
Enum Values Are Bit Flags Where Applicable:
DigitalOutputModes,DigitalInputModes,SquibMeasurementType,SquibFireMode,SupportedExportFormatBitFlags,InputClockSource, andOutputClockSourceuse bit-flag semantics (powers of two or explicit|combinations). Consumers must use bitwise operations for combinations. -
Description Attributes Are Required for UI Display:
Enums using[TypeConverter(typeof(EnumDescriptionTypeConverter))]rely on[Description]or[DescriptionResource]attributes for UI text. Missing attributes will fall back toToString(). -
Resource Keys vs. Literal Descriptions:
LogLevels,UICultures,VelocityUnit,CanArbBaseBitrate,DigitalOutputModes,DigitalInputModes,SquibFireMode,CFCFilter,UDPStreamProfile,ClockSyncProfile,InputClockSource,OutputClockSourceuse[DescriptionResource(...)]— values are resource keys, not literal strings.FtssHeaderLine,UartHeaders,XLSXExportHeaderLine,IsoSupportLevels,RecordingModesuse[Description(...)]— values are literal strings.
-
Underlying Types Are Explicit:
UartBaudRate→uintUDPStreamProfile→byteClockSyncProfile,InputClockSource,OutputClockSource→byte
-
Static State in
IsoViewModeStatic:
IsoViewModeStatic.ViewModeholds current view mode globally but does not persist or retrieve from DB — must be set explicitly. -
RibbonTabNamesConstants Are Placeholders:
All constants (Tab1,Tab2,Tab3) are"TBD"— not yet finalized. -
EnumBindingSourceExtensionValidation:
ThrowsArgumentExceptionifEnumTypeis not an enum; throwsInvalidOperationExceptionifEnumTypeis not set beforeProvideValue. -
SelectedItemsStatusThread Safety:
Useslockon_ListStatusdictionary — safe for concurrent access. -
CFCFilterDTSFileStringConverterDefaults:
GetFilterFromStringreturnsCFCFilter.Unfilteredfor unrecognized input.
4. Dependencies
Module Dependencies
-
DTS.Common.Converters:
Used byEnumDescriptionTypeConverter(referenced via[TypeConverter]attributes).
Implied dependency:EnumDescriptionTypeConvertermust be implemented in this namespace. -
DTS.Common.Base.Classes:
Used byT0ModeItemSource,CFCFilterItemSource,DataFlagItemSource,RecordingModeItemsSource,ProfileSourceItemsSourceviaIItemsSourceinterface. -
DTS.Common.Utils:
Used byT0ModeItemSource,CFCFilterItemSource,DataFlagItemSource,EnumBindingSourceExtensionviaEnumUtil.GetValuesList<T>(). -
DTS.Common.Attributes:
Used byRecordingModesvia[ProgrammableTriggers(...)]attribute. -
DTS.Common.Utilities:
Used byExcitationVoltageOptionsviaVoltageMagnitudeAttribute. -
Xceed.Wpf.Toolkit.PropertyGrid.Attributes:
Used byT0Mode,DataFlag,CFCFilter,RecordingModesviaIItemsSourceinterface. -
WPF Framework:
EnumBindingSourceExtensioninheritsMarkupExtension— requires WPF. -
System.ComponentModel:
Used forDescriptionAttribute. -
DTS.Common.Import.Enums:
Nested namespace for import-related enums (ImportFormats,ImportFileFormat,ImportExtraStatus,PossibleStatus).
Inferred Consumers
- UI layers (WPF) — via
EnumDescriptionTypeConverter,EnumBindingSourceExtension,[Description]attributes. - Export/Import modules —
ImportFormats,FtssHeaderLine,UartHeaders,XLSXExportHeaderLine. - DAS (Data Acquisition System) —
ApplicationStatusTypes,RecordingModes,ClockSyncProfile,DigitalInputModes,DigitalOutputModes,SquibMeasurementType,