--- source_files: - Common/DTS.Common/Interface/Hardware/IDASMonitorInfo.cs - Common/DTS.Common/Interface/Hardware/IISOHardware.cs - Common/DTS.Common/Interface/Hardware/IATDArmStatus.cs - Common/DTS.Common/Interface/Hardware/IDiagnosticResult.cs generated_at: "2026-04-17T15:37:39.437341+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "2331d3a38d60b064" --- # Hardware Interfaces Documentation ## 1. Purpose This module defines the core hardware abstraction interfaces for a Data Acquisition System (DAS). It provides contracts for monitoring hardware status (`IDASMonitorInfo`), managing arm states across distributed test devices (`IATDArmStatus`, `IDistributorArmStatus`, `IDeviceArmStatus`), persisting hardware configuration to a database (`IISOHardware`), and capturing diagnostic calibration results (`IDiagnosticResult`). These interfaces enable decoupled communication between hardware layers, diagnostic services, and data recording subsystems. --- ## 2. Public Interface ### IDASMonitorInfo Defines monitor information for a DAS unit, including tilt sensor calibration and channel configuration. **Properties:** - `string SerialNumber { get; }` — Hardware serial number. - `double[] TiltSensorCals { get; }` — Tilt sensor calibration values. - `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 channel name at the specified index. - `double GetOffsetTolerancemVLow(int index)` — Retrieves low offset tolerance in millivolts. - `double GetOffsetTolerancemVHigh(int index)` — Retrieves high offset tolerance in millivolts. - `void ReadFromFile(string path)` — Reads monitor configuration from file. - `void WriteToFile(string path)` — Writes monitor configuration to file. --- ### IISOHardware Defines ISO hardware that can be persisted to a database. Extends `IDASDBRecord`. **Properties:** - `HardwareTypes DASTypeEnum { get; set; }` — Hardware type enumeration. - `string IPAddress { get; set; }` — Network IP address. **Methods:** - `void GetChannelsString(out int analog, out int digitalIn, out int digitalOut, out int squib, out int uart, out int streamOut, out int streamIn, out int can)` — Retrieves channel counts by type. - `bool IsPseudoRackModule()` — Indicates if hardware is capable of being a pseudo-rack module (e.g., SLICE slabs, SLICE6 with S6DB). - `bool IsTSRAIR()` — Indicates if hardware is TSRAIR type. - `bool ValidateSerialNumber(ref List errors)` — Validates serial number; populates errors list on failure. - `bool ValidateIPAddress(ref List errors)` — Validates IP address; populates errors list on failure. - `void Insert()` — Inserts hardware record into database. - `void Update()` — Updates hardware record in database. - `void Delete()` — Removes hardware record from database. --- ### IAllATDStatus Aggregates