Files
DP44/docs/ai/Common/DTS.CommonCore/Enums/Hardware.md

153 lines
4.6 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
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