9.4 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-17T15:35:23.326019+00:00 | zai-org/GLM-5-FP8 | 1 | 4e304d35fc9dc2de |
DTS.Common.Classes.Hardware Documentation
Purpose
This module provides data structures and persistence logic for hardware-related entities within the DTS (Data Acquisition System) domain. It contains database record mappings for DAS units and their channels, monitor configuration state for tilt sensors and channel metadata, and utility classes for hardware identification and drag-and-drop operations. The module serves as the data layer abstraction between the hardware abstraction layer and the database/serialization infrastructure.
Public Interface
ExternalTilt
A simple POCO (Plain Old CLR Object) representing an external tilt sensor device.
Properties:
string SerialNumber { get; set; }- Serial number of the tilt devicebyte TiltID { get; set; }- Numeric identifier for the tilt devicestring SystemID { get; set; }- System identifier where the tilt device is registeredstring SystemLocation { get; set; }- Physical location of the tilt device within the system
DragAndDropPayload
Static container class defining clipboard format identifiers for drag-and-drop operations involving hardware table rows.
Constants:
const string FORMAT = "RESOLVECHANNELS_HARDWARETABLE"- Standard drag formatconst string ALT_FORMAT = "ALT_RESOLVECHANNELS_HARDWARETABLE"- Alternate drag format (Alt key modifier)const string CTRL_FORMAT = "CTRL_RESOLVECHANNELS_HARDWARETABLE"- Control drag format (Ctrl key modifier)
SerializableAAF
Container for Anti-Alias Filter serialization logic (currently non-functional).
Nested Types:
enum DAS_TYPE { TDAS = 0, SLICE = 1 }- Enumeration identifying DAS hardware types
Note: All implementation methods (GetSerializedKey(), GetSerializedValue(), FromSerializedStrings()) are commented out. The class currently serves only as a container for the DAS_TYPE enum.
DASDBRecord
Entity class representing a Data Acquisition System (DAS) database record. Implements IDASDBRecord and extends BasePropertyChanged.
Constructors:
DASDBRecord()- Default constructorDASDBRecord(IDASDBRecord copy)- Copy constructor; performs shallow copy of most properties and deep copy ofChannelTypesarrayDASDBRecord(IDataReader reader)- Constructs instance from database reader usingUtilityhelper methods
Static Properties:
static DateTime INVALID_DATE => new DateTime(1970, 1, 1)- Sentinel value for unset date fields
Instance Properties (Key Database Columns):
int DASId { get; set; }- Primary key ([Key], mapped to column "DASId")string SerialNumber { get; set; }- Required, max length 50int DASType { get; set; }- DAS type identifierint MaxModules { get; set; }- Maximum module countlong MaxMemory { get; set; }- Maximum memory in bytesdouble MaxSampleRate { get; set; }- Maximum sample rate (decimal(18,0) in DB)double MinSampleRate { get; set; }- Minimum sample rate (decimal(18,0) in DB)string FirmwareVersion { get; set; }- Firmware version string (max 50 chars)DateTime CalDate { get; set; }- Calibration date (defaults toINVALID_DATE)int ProtocolVersion { get; set; }- Protocol version numberDateTime LastModified { get; set; }- Last modification timestampstring LastModifiedBy { get; set; }- User who last modified (max 50 chars)int Version { get; set; }- Record versionbool LocalOnly { get; set; }- Whether record is local-onlyDateTime LastUsed { get; set; }- Last usage timestamp (defaults toINVALID_DATE)string LastUsedBy { get; set; }- User who last used (max 50 chars)string Connection { get; set; }- Connection string/info (max 50 chars)int Channels { get; set; }- Channel countstring Position { get; set; }- Required position string (max 50 chars)int[] ChannelTypes { get; set; }- Array of channel type identifiers (max 255 chars in DB)bool IsProgrammable { get; set; }- Whether DAS is reprogrammablebool IsReconfigurable { get; set; }- Whether DAS is reconfigurablebool IsModule { get; set; }- Whether this is a moduleint PositionOnDistributor { get; set; }- Position index on distributorint PositionOnChain { get; set; }- Position index on chainint Port { get; set; }- Port numberstring ParentDAS { get; set; }- Parent DAS serial number (max 50 chars)DateTime? FirstUseDate { get; set; }- Nullable first use dateint? TestId { get; set; }- Nullable test IDint? GroupId { get; set; }- Nullable group IDbool StandIn { get; set; }- Stand-in flagdouble MaxAAFRate { get; set; }- Maximum Anti-Alias Filter rate (decimal(18,0) in DB)bool IsFirstUseValid { get; set; }- Whether first use date is valid (references issue 15524)
DASChannelDBRecord
Entity class representing a DAS channel database record. Implements IDASChannelDBRecord and extends BasePropertyChanged.
Constructors:
DASChannelDBRecord()- Default constructorDASChannelDBRecord(IDataReader reader)- Constructs from database readerDASChannelDBRecord(IDASChannelDBRecord copy)- Copy constructor
Constants (Bitmask Defaults):
const int DEFAULT_SUPPORTED_BRIDGES = 12- Default: half bridge (4) + full bridge (8)const int DEFAULT_SUPPORTED_EXCITATIONS = 16- Default: 5V excitationconst int DEFAULT_SUPPORTED_DI_MODES = 16- Default digital input mode (CCNC)const int DEFAULT_SQUIB_FIRE_MODES = 16- Default squib fire modeconst int DEFAULT_SUPPORTED_DO_MODES = 16- Default digital output mode
Properties:
string HardwareId { get; set; }- Composite ID: "{serialnumber}_{dastype}"int DaschannelId { get; set; }- Primary key ([Key], mapped to "DASChannelId")int? Dasid { get; set; }- Foreign key to parent DAS recordint ChannelIdx { get; set; }- Physical channel index on DASint SupportedBridges { get; set; }- Bitmask: IEPE(0), quarter(1), half(2), full(3), DI(4), squib(5), DO(6), half-bridge-signal-plus(7), RTC(8), UART(9)int SupportedExcitations { get; set; }- Bitmask: invalid(0), 2V(1), 2.5V(2), 3V(3), 5V(4), 10V(5), 1V(6)int DASDisplayOrder { get; set; }- Display order (may differ from physical order)bool LocalOnly { get; set; }- Deprecated; indicates local-only storageint SupportedDigitalInputModes { get; set; }- Bitmask: invalid(0), TLH(1), THL(2), CCNO(3), CCNC(4)int SupportedSquibFireModes { get; set; }- Bitmask: invalid(0), capacitor-discharge(1), constant-current(2), AC-discharge(3)int SupportedDigitalOutputModes { get; set; }- Bitmask: FVLH(0), FVHL(1), CCNO(2), CCNC(3)string ModuleSerialNumber { get; set; }- Serial of containing module (max 16 chars)int SettingId { get; set; }- Setting ID referenceint ModuleArrayIndex { get; set; }- Index of module within DAS/Rack
DASMonitorInfo
Class for persisting and retrieving DAS monitor configuration including tilt sensor calibration data. Implements IDASMonitorInfo.
Constructors:
DASMonitorInfo(IDASCommunication das, IsoViewMode mode)- Constructs from live DAS communication objectDASMonitorInfo(string path)- Constructs by reading from file at specified path
Properties:
string SerialNumber { get; private set; }- DAS serial numberdouble[] TiltSensorCals { get; private set; }- 18-element array of tilt sensor calibration valuesshort[] TiltSensorDataPre { get; private set; }- 3-element array of pre-capture tilt dataDFConstantsAndEnums.TiltAxes TiltAxes { get; private set; }- Tilt axis configuration (default: IXIYIZ)int AxisIgnored { get; private set; }- Which axis is ignoreddouble MountOffsetAxisOne { get; private set; }- Mount offset for axis one (default: NaN)double MountOffsetAxisTwo { get; private set; }- Mount offset for axis two (default: NaN)
Methods:
string GetChannelName(int index)- Returns channel name or generates default "Ch#XX" formatdouble GetOffsetTolerancemVHigh(int index)- Returns high offset tolerance in mVdouble GetOffsetTolerancemVLow(int index)- Returns low offset tolerance in mVvoid ReadFromFile(string path)- Populates instance from filevoid WriteToFile(string path)- Serializes instance to file
Invariants
-
DASDBRecord.InvalidDate: The
INVALID_DATEconstant (1970-01-01) serves as a sentinel value for unset date fields. Code comparing dates should account for this. -
DASDBRecord.FirstUseDate Validity:
FirstUseDateis only considered valid whenIsFirstUseValidistrue. A nullFirstUseDatewithIsFirstUseValid == falseindicates the feature is not in use. -
DASDBRecord.ChannelTypes: The
ChannelTypesarray is never null (defaults tonew int[0]). The copy constructor performs a deep copy viaArray.Copy. -
DASChannelDBRecord Bitmasks: All
Supported*properties use bit positions documented in XML comments. Bit 0 typically indicates "invalid" or "unset" for mode properties. -
DASMonitorInfo Array Sizes:
TiltSensorCalsis