init
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/TDAS.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/PowerPRO.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE2_TOM.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICEDB.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE2.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE1_5.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE6DB.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE6AIRBR.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE6.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/TSRAIR.cs
|
||||
- Common/DTS.CommonCore/Constant/DASSpecific/SLICE6AIR.cs
|
||||
generated_at: "2026-04-16T02:46:21.143359+00:00"
|
||||
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e300fc25f12eca5b"
|
||||
---
|
||||
|
||||
# DASSpecific Constants Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines hardware-specific constant values and protocol version requirements for various Data Acquisition Systems (DAS) in the DTS ecosystem. It serves as a centralized repository of device capabilities—including maximum anti-aliasing filter rates, minimum required protocol versions for features, and support flags for recording modes, streaming profiles, and clock synchronization profiles—enabling runtime validation and feature gating based on the detected DAS model and its firmware version. Each DAS family (e.g., SLICE, SLICE6, TSRAIR) is represented by a dedicated static class containing only constants and static helper methods; no stateful logic or side effects occur.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
All types reside in the `DTS.Common.Constant.DASSpecific` namespace.
|
||||
|
||||
### Constants (public `const` fields)
|
||||
|
||||
| Class | Name | Type | Value | Description |
|
||||
|-------|------|------|-------|-------------|
|
||||
| `TDAS` | `MaxAAFilterRateHz` | `uint` | `4300` | Maximum anti-aliasing filter rate (Hz) for TDAS hardware. |
|
||||
| `SLICE` | `MaxAAFilterRateHz` | `uint` | `30000` | Maximum anti-aliasing filter rate (Hz) for SLICE hardware. |
|
||||
| `PowerPRO` | `MaxAAFilterRateHz` | `uint` | `20000` | Maximum anti-aliasing filter rate (Hz) for PowerPRO hardware. |
|
||||
| `PowerPRO` | `MIN_PROTOCOL_VER` | `byte` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `PowerPRO` | `DIAGNOS_SHUNT_DAC` | `byte` | `2` | Protocol version at which shunt DAC diagnostics became available. |
|
||||
| `PowerPRO` | `MIN_PROTOCOL_QUERYMACTABLE` | `byte` | `9` | Minimum protocol version to support querying MAC table (firmware B0H3+). |
|
||||
| `PowerPRO` | `MIN_PROTOCOL_MEASUREPOWERPROALLDIAGNOSTICCHANNEL` | `byte` | `12` | Minimum protocol version to support measuring all diagnostic channels. |
|
||||
| `SLICEDB` | `MaxAAFilterRateHz` | `uint` | `200000` | Maximum anti-aliasing filter rate (Hz) for SLICEDB hardware. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_VER` | `byte` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_ARM` | `byte` | `2` | Minimum protocol version to support arming. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_ENABLEFAULTCHECKING` | `byte` | `2` | Alias of `MIN_PROTOCOL_ARM`. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_DIAGNOSTICS` | `byte` | `3` | Minimum protocol version for diagnostics support. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_ONOVERRIDE` | `byte` | `4` | Minimum protocol version for override support. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_OMAP_GPIO` | `byte` | `4` | Alias of `MIN_PROTOCOL_ONOVERRIDE`. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_INITHARDWAREINPUTLINES` | `byte` | `4` | Alias of `MIN_PROTOCOL_ONOVERRIDE`. |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_BASECALDATE` | `byte` | `5` | Minimum protocol version for base calibration date support (FB 16049). |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_QUERYMACTABLE` | `byte` | `9` | Minimum protocol version to support querying MAC table (firmware B0H3+). |
|
||||
| `SLICEDB` | `MIN_PROTOCOL_TILT` | `byte` | `14` | Minimum protocol version for tilt support. |
|
||||
| `SLICE2` | `MaxAAFilterRateHz` | `uint` | `200000` | Maximum anti-aliasing filter rate (Hz) for SLICE2 hardware. |
|
||||
| `SLICE2` | `SLICE1_5_BASETYPE` | `int` | `2` | Base type identifier for SLICE1.5. |
|
||||
| `SLICE2` | `SLICEPRO_DIM_BASETYPE` | `int` | `3` | Base type identifier for SLICE Pro DIM. |
|
||||
| `SLICE2` | `SLICEPRO_TOM_BASETYPE` | `int` | `5` | Base type identifier for SLICE Pro TOM. |
|
||||
| `SLICE2` | `MIN_PROTOCOL_VER` | `byte` | `128` | Minimum protocol version required for basic functionality (gen3+). |
|
||||
| `SLICE2` | `FILE_DATA` | `int` | `133` | Protocol command ID for file data operations. |
|
||||
| `SLICE2` | `MULTIPLE_EVENTS` | `int` | `134` | Protocol command ID for multiple events. |
|
||||
| `SLICE2` | `STACK_SENSORS` | `int` | `136` | Protocol command ID for stacked sensors. |
|
||||
| `SLICE2` | `STACK_FIRMWARE_UPDATE` | `int` | `137` | Protocol command ID for stacked firmware update. |
|
||||
| `SLICE2` | `DIAGNOSTIC_TWO_VOLT_EXCITATION` | `int` | `138` | Protocol command ID for 2V excitation diagnostics. |
|
||||
| `SLICE2` | `QUERY_ARM_AND_TRIGGER_STATUS_TIME_LEFT_IN_ARM` | `int` | `139` | Protocol command ID for querying arming status. |
|
||||
| `SLICE2` | `MIN_PROTOCOL_VER_GEN3` | `byte` | `140` | Minimum protocol version for gen3 features. |
|
||||
| `SLICE2` | `SLICE2_ONE_WIRE_ID` | `int` | `142` | Protocol command ID for one-wire ID. |
|
||||
| `SLICE2` | `EVENT_ARM_ATTEMPTS` | `int` | `145` | Protocol command ID for event arming attempts. |
|
||||
| `SLICE2` | `MEASURE_INTERNAL_OFFSET` | `int` | `149` | Protocol command ID for internal offset measurement. |
|
||||
| `SLICE2` | `START_REC_DELAY_IN_SECONDS` | `int` | `150` | Protocol command ID for delayed recording start. |
|
||||
| `SLICE2` | `START_REALTIME_STREAM` | `int` | `152` | Protocol command ID for starting real-time streaming. |
|
||||
| `SLICE2` | `HALF_BRIDGE_SIG_PLUS_SUPPORT` | `int` | `154` | Protocol command ID for half-bridge SIG+ support. |
|
||||
| `SLICE1_5` | `MaxAAFilterRateHz` | `uint` | `40000` | Maximum anti-aliasing filter rate (Hz) for SLICE1.5 hardware. |
|
||||
| `SLICE1_5` | `MIN_PROTOCOL_VER` | `byte` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `SLICE1_5` | `QUERY_ARM_AND_TRIGGER_STATUS_TIME_LEFT_IN_ARM` | `int` | `2` | Protocol command ID for querying arming status. |
|
||||
| `SLICE1_5` | `IGNORE_SHORTED_START_EVENT` | `int` | `4` | Protocol command ID for ignoring shorted start events. |
|
||||
| `SLICE1_5` | `START_REC_DELAY_IN_SECOND` | `int` | `5` | Protocol command ID for delayed recording start (note: singular "SECOND"). |
|
||||
| `SLICE1_5` | `MEASURE_INTERNAL_OFFSET` | `int` | `6` | Protocol command ID for internal offset measurement. |
|
||||
| `SLICE1_5` | `START_REALTIME_STREAM` | `int` | `7` | Protocol command ID for starting real-time streaming. |
|
||||
| `SLICE1_5` | `BASE_PLUS_MIN_MULTIEVENT_HYBRID_PROTOCOL` | `int` | `8` | Minimum protocol version for `MultipleEventHybridRecorder` mode support. |
|
||||
| `SLICE6DB` | `MaxAAFilterRateHz` | `uint` | `200000` | Maximum anti-aliasing filter rate (Hz) for SLICE6DB hardware. |
|
||||
| `SLICE6DB` | `MIN_PROTOCOL_VER` | `byte` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `SLICE6DB` | `MIN_PROTOCOL_QUERYTEMPLOGFILE` | `byte` | `8` | Minimum protocol version for querying temperature log file. |
|
||||
| `SLICE6DB` | `MIN_PROTOCOL_QUERYMACTABLE` | `byte` | `9` | Minimum protocol version to support querying MAC table (firmware B0H3+). |
|
||||
| `SLICE6DB` | `MIN_PROTOCOL_TILT` | `byte` | `14` | Minimum protocol version for tilt support. |
|
||||
| `SLICE6DB` | `CLOCKSYNCPROFILE` | `int` | `18` | Minimum protocol version for clock sync profile support. |
|
||||
| `SLICE6DB` | `PTP_DOMAIN_ID_VER` | `int` | `18` | Minimum protocol version for PTP Domain ID support (per 30472). |
|
||||
| `SLICE6` | `MaxAAFilterRateHz` | `uint` | `20000` | Maximum anti-aliasing filter rate (Hz) for SLICE6 hardware. |
|
||||
| `SLICE6` | `MIN_PROTOCOL_VER` | `int` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `SLICE6` | `DIAGNOS_SHUNT_DAC` | `int` | `2` | Protocol version at which shunt DAC diagnostics became available. |
|
||||
| `SLICE6` | `START_REC_DELAY_IN_SECONDS` | `int` | `3` | Protocol command ID for delayed recording start. |
|
||||
| `SLICE6` | `IN_SLICE_TILT_SENSOR_ADC_PRE` | `int` | `4` | Protocol command ID for in-slice tilt sensor ADC pre-scaling. |
|
||||
| `SLICE6` | `STACK_SENSORS` | `int` | `5` | Protocol command ID for stacked sensors. |
|
||||
| `SLICE6` | `START_REALTIME_STREAM` | `int` | `11` | Protocol command ID for starting real-time streaming. |
|
||||
| `SLICE6` | `UDP_REALTIME_STREAM` | `int` | `14` | Protocol command ID for UDP real-time streaming. |
|
||||
| `SLICE6` | `CLOCKSYNCPROFILE` | `int` | `21` | Minimum protocol version for clock sync profile support. |
|
||||
| `SLICE6` | `PTP_DOMAIN_ID_VER` | `int` | `21` | Minimum protocol version for PTP Domain ID support (per 30472). |
|
||||
| `TSRAIR` | `MaxAAFilterRateHz` | `uint` | `200000` | Maximum anti-aliasing filter rate (Hz) for TSRAIR hardware. |
|
||||
| `TSRAIR` | `MIN_PROTOCOL_VER` | `byte` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `TSRAIR` | `VOLTAGE_INSERTION` | `int` | `2` | Protocol command ID for voltage insertion. |
|
||||
| `TSRAIR` | `START_REC_DELAY_IN_SECONDS` | `int` | `3` | Protocol command ID for delayed recording start. |
|
||||
| `TSRAIR` | `STACK_SENSORS` | `int` | `5` | Protocol command ID for stacked sensors. |
|
||||
| `TSRAIR` | `WAKEUP_MOTION_TIMEOUT` | `int` | `10` | Protocol command ID for wakeup motion timeout. |
|
||||
| `TSRAIR` | `IRIG_GPS_PPSIN_SYNC` | `int` | `25` | Minimum protocol version for IRIG/GPS/PPS input sync support. |
|
||||
| `TSRAIR` | `DISABLE_STREAMING_FEATURE` | `int` | `25` | Protocol command ID for disabling streaming feature (same version as above). |
|
||||
| `SLICE6AIR` | `IENA_PTYPE_STREAM_MIN_PROTOCOL` | `uint` | `39` | Minimum protocol version for IENA PTYPE stream support. |
|
||||
| `SLICE6AIR` | `UART_STREAM_MIN_PROTOCOL` | `uint` | `41` | Minimum protocol version for UART stream support. |
|
||||
| `SLICE6AIR` | `MaxAAFilterRateHz` | `uint` | `50000` | Maximum anti-aliasing filter rate (Hz) for SLICE6AIR hardware. |
|
||||
| `SLICE6AIR` | `MaxSampleRateHz` | `uint` | `400000` | Maximum sample rate (Hz) for SLICE6AIR hardware. |
|
||||
| `SLICE6AIR` | `MaxSampleRateHz_OBRDDR` | `uint` | `uint.MaxValue` | Maximum sample rate (Hz) for Ethernet-based recording (unlimited). |
|
||||
| `SLICE6AIR` | `MIN_PROTOCOL_VER` | `int` | `1` | Minimum protocol version required for basic functionality. |
|
||||
| `SLICE6AIR` | `UDP_REALTIME_STREAM` | `int` | `1` | Protocol command ID for UDP real-time streaming (available from base protocol). |
|
||||
| `SLICE6AIR` | `SET_DSP_FILTER_SETTINGS` | `int` | `28` | Protocol command ID for setting DSP filter settings. |
|
||||
| `SLICE6AIR` | `RECORD_AND_STREAM_SUBSAMPLE` | `int` | `29` | Minimum protocol version for record-and-stream subsampling. |
|
||||
| `SLICE6AIR` | `UART_MULTIPLE_EVENT_MIN_PROTOCOL` | `int` | `45` | Minimum protocol version for UART + multiple event modes. |
|
||||
| `SLICE6AIR` | `RECORD_ON_BOOT_PROTOCOL` | `int` | `46` | Minimum protocol version for record-on-boot mode. |
|
||||
| `SLICE6AIR` | `REMOVE_LEAP_SECONDS_VER` | `int` | `42` | Minimum protocol version for leap second removal support (per 31747). |
|
||||
| `SLICE6AIR` | `ADC_SAMPLES_PER_PACKET_VER` | `int` | `43` | Minimum protocol version for exposing ADC samples per packet (per 31754). |
|
||||
| `SLICE6AIR` | `AC_COUPLER_ENABLE` | `int` | `36` | Minimum protocol version for AC coupler enable (per 18294). |
|
||||
| `SLICE6AIR` | `PPS_OUT_CLOCKS` | `int` | `39` | Minimum protocol version for PPS OUT clock types (per 29842). |
|
||||
|
||||
### Static Methods
|
||||
|
||||
| Class | Method | Signature | Description |
|
||||
|-------|--------|-----------|-------------|
|
||||
| `SLICE2_TOM` | `IsRecordingModeSupported` | `bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)` | Returns `true` if the given `RecordingModes` value is supported (supports all standard recorder modes). |
|
||||
| `SLICE1_5` | `IsRecordingModeSupported` | `bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)` | Returns `true` if the given `RecordingModes` value is supported. `MultipleEventHybridRecorder` requires `protocolVersion >= BASE_PLUS_MIN_MULTIEVENT_HYBRID_PROTOCOL` (8). |
|
||||
| `SLICE6DB` | `IsClockSyncProfileSupported` | `bool IsClockSyncProfileSupported(ClockSyncProfile profile, int protocolVersion)` | Returns `true` if the given `ClockSyncProfile` is supported. `Manual` is supported at all versions; `Master_E2E`/`Slave_E2E` require `protocolVersion >= CLOCKSYNCPROFILE` (18). |
|
||||
| `SLICE6AIR` | `IsRecordingModeSupported` | `bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)` | Returns `true` if the given `RecordingModes` value is supported. Complex logic: e.g., `MultipleEventCircularBufferAndStream` requires `protocolVersion >= RECORD_AND_STREAM_SUBSAMPLE` (29); `UART` variants require `UART_MULTIPLE_EVENT_MIN_PROTOCOL` (45); `RecordOnBoot` requires `RECORD_ON_BOOT_PROTOCOL` (46). |
|
||||
| `SLICE6AIR` | `IsStreamingProfileSupported` | `bool IsStreamingProfileSupported(UDPStreamProfile profile, int protocolVersion)` | Returns `true` if the given `UDPStreamProfile` is supported. `IENA_PTYPE_STREAM` requires `protocolVersion >= IENA_PTYPE_STREAM_MIN_PROTOCOL` (39); `UART_STREAM` requires `UART_STREAM_MIN_PROTOCOL` (41). |
|
||||
| `SLICE6AIR` | `IsClockSyncProfileSupported` | `bool IsClockSyncProfileSupported(ClockSyncProfile profile, int protocolVersion)` | Returns `true` if the given `ClockSyncProfile` is supported. Explicitly excludes `PPS_OUT`-related profiles unless `protocolVersion >= PPS_OUT_CLOCKS` (39); `GPS`-only profiles are explicitly unsupported. |
|
||||
| `SLICE6` | `IsRecordingModeSupported` | `bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)` | Returns `true` if the given `RecordingModes` value is supported. Includes `MultipleEventRAMActive` and `RAMActive`. |
|
||||
| `SLICE6` | `IsStreamingProfileSupported` | `bool IsStreamingProfileSupported(UDPStreamProfile profile, int protocolVersion)` | Returns `true` only for `RTCStreaming` and `DTS_UDP`. Comment notes these are *realtime-only*, not boot-and-stream. |
|
||||
| `SLICE6` | `IsClockSyncProfileSupported` | `bool IsClockSyncProfileSupported(ClockSyncProfile profile, int protocolVersion)` | Returns `true` for `None`, `Manual` (if `protocolVersion < CLOCKSYNCPROFILE`), and `Slave_E2E` (if `protocolVersion >= CLOCKSYNCPROFILE`). |
|
||||
| `TSRAIR` | `IsRecordingModeSupported` | `bool IsRecordingModeSupported(RecordingModes mode, int protocolVersion)` | Returns `true` for a broad set of modes including `Active`, `Streaming`, `S6A_DeviceStreamingOnly`, `Scheduled`, and `Interval`. |
|
||||
| `TS
|
||||
Reference in New Issue
Block a user