--- source_files: - Common/DTS.CommonCore/Enums/Hardware/HardwareListTags.cs - Common/DTS.CommonCore/Enums/Hardware/SLICEConfigurations.cs - Common/DTS.CommonCore/Enums/Hardware/HardwareTypes.cs generated_at: "2026-04-17T15:39:37.643124+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "b97b7d2daf9e6693" --- # Documentation: DTS.Common.Enums.Hardware ## 1. Purpose This module defines the core hardware enumeration types and utility functions for the DTS (Data Acquisition System) hardware platform. It provides a centralized definition of hardware device types (`HardwareTypes`), SLICE configurations, hardware list metadata tags, and an abstract `HardwareConstants` class containing static helper methods for querying hardware capabilities such as recording mode support, streaming profiles, clock synchronization, trigger inversion support, and embedded sensor detection. This module serves as the canonical reference for hardware type identification and capability resolution across the system. --- ## 2. Public Interface ### Enums #### `HardwareListTags` Defines metadata tags used to identify hardware list properties. ```csharp public enum HardwareListTags { Included, SerialNumber, HardwareType, ChannelCount, Firmware, MaxSampleRate, TestSampleRate, CalDate, CalDueDate, IPAddress, FirstUseDate } ``` #### `SLICEConfigurations` Defines SLICE hardware sample rate configurations. Decorated with `[TypeConverter(typeof(EnumDescriptionTypeConverter))]`. ```csharp public enum SLICEConfigurations { [Description("SLICE_CONFIGURATION_MEGA")] MEGA, [Description("SLICE_CONFIGURATION_800K")] EIGHT_HUNDRED, [Description("SLICE_CONFIGURATION_700K")] SEVEN_HUNDRED, [Description("SLICE_CONFIGURATION_600K")] SIX_HUNDRED } ``` #### `HardwareTypes` Defines all supported hardware device types with explicit integer values. Decorated with `[TypeConverter(typeof(EnumDescriptionTypeConverter))]`. Contains 59 defined values (0-58, with gaps at 22 and 35). Key values include: - `SLICE_Base = 0` through `SLICE6_AIR_BR = 58` - `UNDEFINED = 38` - Represents unknown/empty hardware type - Various SLICE variants, TDAS equipment, embedded sensor modules, and specialty hardware #### `SLICEBridgeTypes` Defines bridge module types. Decorated with `[TypeConverter(typeof(EnumDescriptionTypeConverter))]`. ```csharp public enum SLICEBridgeTypes { [Description("BRIDGETYPE_BRIDGE_DESCRIPTION")] Bridge, [Description("BRIDGETYPE_IEPE_DESCRIPTION")] IEPE, [Description("BRIDGETYPE_ARS_DESCRIPTION")] ARS, [Description("BRIDGETYPE_ACC_DESCRIPTION")] ACC, [Description("BRIDGETYPE_RTC_DESCRIPTION")] RTC, [Description("BRIDGETYPE_UART_DESCRIPTION")] UART, [Description("BRIDGETYPE_STREAM_OUT_DESCRIPTION")] StreamOut } ``` #### `RackSizes` Defines rack size configurations. Decorated with `[TypeConverter(typeof(EnumDescriptionTypeConverter))]`. ```csharp public enum RackSizes { [Description("RACK_SIZE_4M")] FOUR, [Description("RACK_SIZE_8M")] EIGHT } ``` ### HardwareConstants Class Abstract class providing static utility methods and constants for hardware capability queries. #### Constants ```csharp public const int INVALID_IDASCOMMUNICATION_RECORD_ID = -1; public const int DEFAULTMEMORYSIZE_PRO = 16000000; public const int DEFAULTMEMORYSIZE_DIM = 2000000; public const int DEFAULTMEMORYSIZE_TOM = 2000000; ``` #### Properties ```csharp public static bool AllowSoftDisconnects { get; set; } = false; ``` Global configuration for allowing soft disconnects; must be set by the application. #### Methods ```csharp public static SolidColorBrush GetBrushForVoltageStatus(DFConstantsAndEnums.VoltageStatusColor status) ``` Returns a `SolidColorBrush` corresponding to the voltage status color (Green, Red, Yellow, Off). ```csharp public static bool SupportsTriggerInversion(HardwareTypes type, int protocolVersion) ``` Returns `true` if the hardware type supports trigger inversion. Supports SLICE, SLICE1.5, SLICE2 variants. ```csharp public static bool SupportsStartInversion(HardwareTypes type, int protocolVersion) ``` Returns `true` if the hardware type supports start inversion. Supports SLICE, SLICE1.5, SLICE2 variants, and `SLICE6_AIR`. ```csharp public static bool IsEthernetRecorder(HardwareTypes type) ``` Returns `true` if the hardware type is `S6A_EthernetRecorder`. ```csharp public static bool HasEmbeddedSensors(HardwareTypes hardware) ``` Returns `true` for embedded sensor hardware types (`EMB_*` series, `TSR_AIR`, `TSR_AIR_RevB`, `DIR`, `DKR`). ```csharp public static bool HasEmbeddedChannelType(HardwareTypes hardware, string channelType) ``` Determin