--- source_files: - Common/DTS.CommonCore/Interface/Hardware/IDASMonitorInfo.cs - Common/DTS.CommonCore/Interface/Hardware/IISOHardware.cs - Common/DTS.CommonCore/Interface/Hardware/IATDArmStatus.cs - Common/DTS.CommonCore/Interface/Hardware/IDiagnosticResult.cs generated_at: "2026-04-17T15:37:13.768712+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "5b4c17b1fc03b90c" --- # Hardware Interface Module Documentation ## 1. Purpose This module defines the core interfaces for hardware abstraction within the DTS (Data Acquisition System) architecture. It provides contracts for monitoring DAS hardware (`IDASMonitorInfo`), managing ISO hardware lifecycle and validation (`IISOHardware`), tracking arm/trigger device status hierarchies (`IAllATDStatus`, `IATDStatus`, `IDistributorArmStatus`, `IDeviceArmStatus`), and capturing diagnostic calibration results (`IDiagnosticResult`). These interfaces enable decoupled communication between the system's hardware layer and higher-level services, supporting operations such as tilt sensor calibration, device arming state management, and channel-level diagnostic data retrieval. --- ## 2. Public Interface ### IDASMonitorInfo **Properties:** - `string SerialNumber { get; }` — Device serial number. - `double[] TiltSensorCals { get; }` — Calibration values for tilt sensors. - `short[] TiltSensorDataPre { get; }` — Pre-capture tilt sensor data. - `DFConstantsAndEnums.TiltAxes TiltAxes { get; }` — Configured tilt axes. - `int AxisIgnored { get; }` — Index of any ignored axis. - `double MountOffsetAxisOne { get; }` — Mount offset for axis one. - `double MountOffsetAxisTwo { get; }` — Mount offset for axis two. **Methods:** - `string GetChannelName(int index)` — Retrieves the channel name at the specified index. - `double GetOffsetTolerancemVLow(int index)` — Retrieves the low offset tolerance in millivolts for the channel at the specified index. - `double GetOffsetTolerancemVHigh(int index)` — Retrieves the high offset tolerance in millivolts for the channel at the specified index. - `void ReadFromFile(string path)` — Reads monitor configuration from a file at the given path. - `void WriteToFile(string path)` — Writes monitor configuration to a file at the given path. --- ### IISOHardware (extends `IDASDBRecord`) **Properties:** - `HardwareTypes DASTypeEnum { get; set; }` — The hardware type enumeration. - `string IPAddress { get; set; }` — The IP address of the hardware. **Methods:** - `void GetChannelsString(out int analog, out int digitalIn, out int digitalOut, out int squib, out int uart, out int streamOut, out int streamIn)` — Retrieves channel counts for all channel types. - `bool IsPseudoRackModule()` — Indicates whether the hardware is capable of being a pseudo-rack module (e.g., SLICE slabs, SLICE6 with S6DB). - `bool IsTSRAIR()` — Indicates whether the hardware is TSRAIR capable. - `bool ValidateSerialNumber(ref List errors)` — Validates the serial number, populating errors list on failure. - `bool ValidateIPAddress(ref List errors)` — Validates the IP address, populating errors list on failure. - `void Insert()` — Inserts this hardware record into the database. - `void Update()` — Updates this hardware record in the database. - `void Delete()` — Removes this hardware from the database. --- ### IAllATDStatus **Properties:** - `IATDStatus[] ATDs { get; }` — Array of ATD status objects. - `AllATDStatuses OverallStatus { get; }` — Aggregate status across all ATDs. **Methods:** - `void AddDevice(IDeviceArmStatus