This module defines three interfaces for communication-related data structures within the DTS system. ICommunicationReport provides a standard contract for reporting communication operation results, including status, user state, and raw data. IDASConnectedDevice describes hardware devices connected to a Data Acquisition System (DAS), capturing physical and logical identification properties. ICommunication_DASInfo extends DAS communication capabilities to manage connected device discovery, serial/firmware tracking, first-use date tracking, and streaming support detection. These interfaces support auto-discovery and monitoring of DAS-connected hardware (e.g., S6 devices connected to S6DB).
2. Public Interface
ICommunicationReport
Properties:
Name
Type
Access
Description
UserState
object
get/set
Arbitrary user state associated with the communication report.
The port on the DAS where the device is connected (0-based index).
SpotOnPort
int
The position in the chain on the given port (0-based index).
PhysicalAddress
PhysicalAddress
The MAC address or physical address of the device.
IPAddress
string
The IP address of the device.
SerialNumber
string
The serial number of the device.
Location
string
The location descriptor of the device.
Version
string
The firmware/hardware version of the device.
ICommunication_DASInfo
Properties:
Name
Type
Access
Description
ConnectedDevices
IDASConnectedDevice[]
get only
Array of devices currently connected to the DAS. Currently only used by SLICE6DB.
SerialNumbers
string[]
get/set
Array of serial numbers.
FirmwareVersions
string[]
get/set
Array of firmware versions.
FirstUseDate
DateTime?
get/set
Date of first hardware use; null indicates hardware has not been used since calibration. Only valid when IsFirstUseDateSupported is true.
IsFirstUseDateSupported
bool
get/set
Indicates whether hardware supports first use date tracking. Requires firmware storage for user attributes and calibration by software supporting hardware first use.
IsStreamingSupported
bool
get/set
Indicates whether streaming is supported. TSR AIRs can enable/disable via DISABLE_STREAMING_FEATURE system attribute.
Sets the ConnectedDevices array with devices connected to this DAS.
string StackSerialNumber(int devid)
Returns the stack serial number for the given device ID.
3. Invariants
Port and SpotOnPort indexing: Both Port and SpotOnPort on IDASConnectedDevice are 0-based indices.
FirstUseDate validity: FirstUseDate is only meaningful when IsFirstUseDateSupported is true. A null value for FirstUseDate indicates the hardware has not been used since calibration.
ConnectedDevices mutability: The ConnectedDevices property is read-only; modifications must go through SetConnectedDevices(IDASConnectedDevice[]).
Streaming support: IsStreamingSupported reflects hardware capability; the actual feature can be controlled via the DISABLE_STREAMING_FEATURE system attribute on TSR AIRs.
System.Net.NetworkInformation — provides PhysicalAddress class
System — provides DateTime type
What depends on this module:
Not determinable from the provided source files alone. These are interface definitions likely consumed by DAS communication implementations and device discovery services.
5. Gotchas
FirstUseDate null semantics: A nullFirstUseDate has specific meaning (hardware not used since calibration), not just "unknown" or "uninitialized". Consumers should check IsFirstUseDateSupported before relying on FirstUseDate.
ConnectedDevices limited usage: The XML comment indicates ConnectedDevices is "currently only used by SLICE6DB" — other DAS types may not populate this array.
Streaming feature control: IsStreamingSupported indicates hardware capability, but the actual streaming feature can be disabled via the DISABLE_STREAMING_FEATURE system attribute on TSR AIRs. The relationship between this property and the system attribute is not fully specified in the source.
StackSerialNumber parameter meaning: The devid parameter in StackSerialNumber(int devid) lacks documentation; its interpretation (whether 0-based index, hardware ID, or other identifier) is unclear from source alone.