57 lines
17 KiB
Markdown
57 lines
17 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IZeroMethods.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IInitialOffsets.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorDbRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IStreamInputSettingDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISoftwareFilter.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IDigitalOutDbRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IStreamInputRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IDigitalOutDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInputDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInputScaleMultiplier.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IUartSettingDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IAnalogDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorCalDbRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorChange.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IUARTRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IStreamOutputSettingDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorCalibration.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IStreamOutputRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ICalibrationRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IIEPESensorDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISquibDbRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorBase.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISquibSettingDefaults.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInDbRecord.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/ISensorData.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/Sensors/IAnalogDbRecord.cs
|
||
|
|
generated_at: "2026-04-16T02:18:54.179931+00:00"
|
||
|
|
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "f478d329c262291c"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Sensor Interface Module Documentation
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
This module defines a set of C# interfaces that establish the contract for sensor data models, configuration defaults, and database record structures within the DTS sensor management system. It serves as the foundational abstraction layer between the application logic and concrete sensor implementations, enabling consistent handling of diverse sensor types (analog, digital input/output, squib, UART, stream input/output) across the system. The interfaces standardize properties for identification, calibration, configuration, state tracking, and metadata, while also supporting database persistence, XML serialization, and validation logic required for test configuration, data acquisition, and diagnostics.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### Core Sensor Interfaces
|
||
|
|
|
||
|
|
- **`ISensorBase`**
|
||
|
|
Defines fundamental properties and methods common to all sensor types: identification (`SerialNumber`, `Model`, `Manufacturer`, `UserCode`, `ISOCode`), physical characteristics (`Bridge`, `BridgeResistance`, `Capacity`, `RangeLow/Medium/High`, `UniPolar`, `Polarity`), operational flags (`CheckOffset`, `MeasureNoise`, `MeasureExcitation`, `Invert`, `DoNotUse`, `Broken`, `OutOfDate`), calibration (`Calibration`), and metadata (`LastModified`, `Version`, `AxisNumber`, `CalInterval`). Includes helper methods for unit management (`SetDisplayUnitNoNotify`) and value copying (`CopyValues`).
|
||
|
|
|
||
|
|
- **`ISensorData`**
|
||
|
|
Extends `ISensorBase` with runtime and test-specific state: test-specific flags (`IsTestSpecificDigitalInput/Output/Squib/Uart/StreamInput/StreamOutput`), delay/duration properties for digital outputs and squibs (e.g., `DigitalOutputDelayMS`, `SquibFireDelayMS`), UART configuration (`UartBaudRate`, `UartParity`, etc.), streaming configuration (`StreamInUDPAddress`, `StreamOutUDPProfile`, `StreamOutUDPAddress`, `StreamOutUDPTimeChannelId`, `StreamOutUDPDataChannelId`, `StreamOutUDPTmNSConfig`, `StreamOutIRIGTimeDataPacketIntervalMs`, `StreamOutTMATSIntervalMs`), shunt emulation settings (`InternalShuntResistance`, `ExternalShuntResistance`), and calibration-related runtime data (`FirstUseDate`, `LatestCalibrationId`, `GetDueDate`, `InitialOffset`). Includes XML serialization (`ReadXML`, `WriteXML`) and utility methods (`ToDisplayString`, `GetSerialNumberWithAxis`, `IncompatibleSensorAssignment`).
|
||
|
|
|
||
|
|
### Database Record Interfaces
|
||
|
|
|
||
|
|
- **`ISensorDbRecord`**
|
||
|
|
Base interface for database-stored sensor records. Defines `id` (primary key), `SensorType`, and `SerialNumber` (required, max 50 chars).
|
||
|
|
|
||
|
|
- **`IAnalogDbRecord`**
|
||
|
|
Represents an analog sensor record in the database. Includes all `ISensorDbRecord` fields plus extensive analog-specific properties: `Bridge`, `BridgeResistance`, `CouplingMode`, `SupportedExcitation`, `OffsetToleranceLow/High`, `CalInterval`, `Capacity`, `RangeLow/Medium/High`, `Filter` (default software filter), `EId` (electronic ID), `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `DiagnosticsMode`, `Diagnostic
|