Files

68 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
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<string> errors)` — Validates the serial number, populating errors list on failure.
- `bool ValidateIPAddress(ref List<string> 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