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

12 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/DataRecorders/IHardwareChannel.cs
Common/DTS.CommonCore/Interface/DataRecorders/IDASDBRecord.cs
Common/DTS.CommonCore/Interface/DataRecorders/IDASHardware.cs
Common/DTS.CommonCore/Interface/DataRecorders/IDASChannelDBRecord.cs
2026-04-16T12:21:21.272442+00:00 zai-org/GLM-5-FP8 1 bca3af738f7131f7

Documentation: DTS.Common.Interface.DataRecorders

1. Purpose

This module defines the core interfaces for Data Acquisition System (DAS) hardware abstraction within the DTS system. It provides contracts for representing hardware channels (IHardwareChannel), DAS devices (IDASHardware), and their corresponding database persistence records (IDASDBRecord, IDASChannelDBRecord). These interfaces enable the system to interact with various types of data recording hardware—ranging from individual channels to complete rack systems—in a uniform, decoupled manner, supporting capabilities queries, hardware identification, and configuration persistence.


2. Public Interface

IHardwareChannel

Represents an individual hardware channel on a DAS device.

Member Signature Description
Diagnostics IDiagnosticResult { get; } Diagnostic results for this channel; returns null if unavailable.
IsSupportedBridgeType bool IsSupportedBridgeType(SensorConstants.BridgeType bridgeType) Returns whether the channel supports the specified bridge type.
ChannelNumber int { get; } The channel number.
GetId string GetId() Returns the channel identifier.
IsAnalog bool { get; } Returns true if the channel supports analog sensors.
IsSquib bool { get; } Returns true if the channel supports squibs.
IsDigitalOut bool { get; } Returns true if the channel supports digital outputs.
IsDigitalIn bool { get; } Returns true if the channel supports digital inputs.
IsUart bool { get; } Returns true if the channel supports UART I/O.
IsStreamIn bool { get; } Returns true if the channel supports stream input.
IsStreamOut bool { get; } Returns true if the channel supports stream output.
IsClock bool { get; } Returns true if the channel supports clocks.
IsTSRAIR bool { get; } (Undocumented in XML comments.)
IsTSRAIRModule bool { get; } (Undocumented in XML comments.)
GetParentDAS IDASHardware GetParentDAS() Returns the DAS this channel belongs to.
ModuleSerialNumber string { get; set; } The module serial number this channel belongs to.
IsSupportedExcitation bool IsSupportedExcitation(ExcitationVoltageOptions.ExcitationVoltageOption excitation) Returns whether a given excitation voltage is supported.
IsG5 bool IsG5() Returns true if the serial number starts with "5M".
ToString string ToString(IDASHardware[] hardwares) Returns a string representation given an array of hardware.

IDASHardware

Represents a DAS hardware device (e.g., a rack, module, or standalone unit).

Member Signature Description
IsStandIn bool IsStandIn() Returns true if this is a stand-in for real hardware, not physical hardware itself.
IsFirstUseValid bool { get; } Whether hardware supports and is using first use date (ref: 15524).
FirstUseDate DateTime? { get; } First date of use after calibration; only valid if IsFirstUseValid is true. null indicates not used since calibration.
IsPseudoRack bool IsPseudoRack() (Undocumented in XML comments.)
DASId int { get; } The DAS identifier.
SerialNumber string { get; set; } Serial number of the hardware.
SerialNumberFamily string { get; set; } Serial number family.
EIDFound string { get; set; } (Undocumented in XML comments.)
BatteryVoltageStatus string { get; set; } Battery voltage status string.
BatteryVoltageColor System.Windows.Media.SolidColorBrush { get; set; } Color for battery voltage display.
InputVoltageStatus string { get; set; } Input voltage status string.
InputVoltageColor System.Windows.Media.SolidColorBrush { get; set; } Color for input voltage display.
ParentDAS string { get; set; } Used to display DAS connectivity in Hardware Scan.
Connection string { get; set; } Used to determine DAS connectivity for Hardware Scan.
GetIHardwareChannels IHardwareChannel[] GetIHardwareChannels() Returns all hardware channels on this DAS.
IsSLICEEthernetController bool { get; } Returns whether DAS is a SLICE Ethernet Controller.
IsTDASRack bool IsTDASRack() Returns true if the DAS is a TDAS rack.
IsG5 bool IsG5() (Undocumented in XML comments.)
IsTSRAIR bool IsTSRAIR() (Undocumented in XML comments.)
IsTSRAIRModule bool IsTSRAIRModule() (Undocumented in XML comments.)
GetMinSampleRateDouble double GetMinSampleRateDouble() Returns the minimum sample rate allowed on this DAS.
GetMaxSampleRateDouble double GetMaxSampleRateDouble() Returns the maximum sample rate allowed on this DAS.
IsModule bool IsModule() Returns true for modules which should not be displayed in Hardware Scan (SLICE bridges); false for modules which should be displayed (TDAS rack modules).
LastModifiedBy string { get; set; } User who last modified this record.
LastModified DateTime { get; set; } Timestamp of last modification.
DASTypeEnum HardwareTypes { get; set; } The hardware type enumeration value.

IDASDBRecord

Encapsulates a DAS record for database persistence.

Member Signature Description
DASId int { get; set; } Database ID of the DAS record.
SerialNumber string { get; set; } Serial number.
DASType int { get; set; } DAS type as integer.
MaxModules int { get; set; } Maximum number of modules supported.
MaxMemory long { get; set; } Maximum memory in bytes.
MaxSampleRate double { get; set; } Maximum sample rate.
MinSampleRate double { get; set; } Minimum sample rate.
FirmwareVersion string { get; set; } Firmware version string.
CalDate DateTime { get; set; } Calibration date.
ProtocolVersion int { get; set; } Protocol version.
LastModified DateTime { get; set; } Last modification timestamp.
LastModifiedBy string { get; set; } User who last modified.
Version int { get; set; } Record version.
LocalOnly bool { get; set; } Whether record is local-only.
LastUsed DateTime { get; set; } Last used timestamp.
LastUsedBy string { get; set; } User who last used.
Connection string { get; set; } Used to determine DAS connectivity for Hardware Scan.
Channels int { get; set; } Number of channels.
Position string { get; set; } Position identifier.
ChannelTypes int[] { get; set; } Array of channel types.
IsProgrammable bool { get; set; } Whether hardware is programmable.
IsReconfigurable bool { get; set; } Whether hardware is reconfigurable.
IsModule bool { get; set; } Whether hardware operates as a rack module (true) or standalone (false).
PositionOnDistributor int { get; set; } Position on distributor.
PositionOnChain int { get; set; } Position on chain.
Port int { get; set; } Port number.
ParentDAS string { get; set; } Parent DAS identifier.
FirstUseDate DateTime? { get; set; } First use date after calibration; only valid if IsFirstUseValid is true. null indicates not used since calibration. (Ref: 15524)
TestId int? { get; set; } Test ID for stand-in hardware existing in a test only. (Ref: 15727)
GroupId int? { get; set; } Group ID for stand-in hardware existing in a group only.
StandIn bool { get; set; } Whether this is stand-in/dummy hardware, not physical hardware.
MaxAAFRate double { get; set; } Maximum AAF rate.
IsFirstUseValid bool { get; set; } Whether hardware supports and is using first use date. (Ref: 15524)

IDASChannelDBRecord

Describes a DAS channel database record with detailed bitmask configuration.

Member Signature Description
HardwareId string { get; set; } String ID for the hardware (format: serialnumber_dastype).
DaschannelId int { get; set; } Primary key of the DAS channel record. Annotated with [Key] and [Column("DASChannelId")].
Dasid int? { get; set; } DAS database ID of the parent hardware. Annotated with [Column("DASId")].
ChannelIdx int { get; set; } Physical channel index among channels on the DAS.
SupportedBridges int { get; set; } Bitmask for supported bridges (see Invariants for bit meanings).
SupportedExcitations int { get; set; } Bitmask for supported excitation options (see Invariants for bit meanings).
DASDisplayOrder int { get; set; } Display order among channels; may differ from physical order. Annotated with [Column("DASDisplayOrder")].
LocalOnly bool { get; set; } Indicates local-only storage (deprecated per XML comment).
SupportedDigitalInputModes int { get; set; } Bitmask for digital input modes (see Invariants for bit meanings).
SupportedSquibFireModes int { get; set; } Bitmask for squib fire modes (see Invariants for bit meanings).
SupportedDigitalOutputModes int { get; set; } Bitmask for digital output modes (see Invariants for bit meanings).
ModuleSerialNumber string { get; set; } Module serial number.
SettingId int { get; set; } Setting ID.
ModuleArrayIndex int { get; set; } Array index of the module among modules on the DAS.

3. Invariants

First Use Date Validity

  • FirstUseDate (on both IDASHardware and IDASDBRecord) is only valid when IsFirstUseValid is true.
  • A null value for FirstUseDate indicates the hardware has not been used since calibration (only meaningful when IsFirstUseValid is true).

Hardware ID Format

  • IDASChannelDBRecord.HardwareId follows the format: "serialnumber_dastype".

Channel Ordering

  • Physical channel order (ChannelIdx) and display order (DASDisplayOrder) may not match for some hardware types.

SupportedBridges Bitmask (IDASChannelDBRecord)

Bit Meaning
0 IEPE
1 Quarter bridge
2 Half bridge
3 Full bridge
4 Digital input
5 Squib fire
6 Digital output
7 Half bridge signal plus (G5 signal plus)
8 RealTime Clock
9 UART

SupportedExcitations Bitmask (IDASChannelDBRecord)

Bit Meaning
0 Invalid excitation (undefined)
1 2V
2 2.5V
3 3V
4 5V
5 10V
6 1V

SupportedDigitalInputModes Bitmask (IDASChannelDBRecord)

Bit Meaning
0 Invalid mode
1 Transition low to high (TLH)
2 Transition high to low (THL)
3 Contact closure normally open (CCNO)
4 Contact closure normally closed (CCNC)

SupportedSquibFireModes Bitmask (IDASChannelDBRecord)

Bit Meaning
0 Invalid mode (fire mode not set)
1 Capacitor discharge
2 Constant current
3 AC discharge

SupportedDigitalOutputModes Bitmask (IDASChannelDBRecord)

Bit Meaning
0