Files
DP44/docs/ai/Common/DTS.Common/Interface/DASFactory.md
2026-04-17 14:55:32 -04:00

11 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Interface/DASFactory/IAutoArmed.cs
Common/DTS.Common/Interface/DASFactory/ITMATSStreamingDevice.cs
Common/DTS.Common/Interface/DASFactory/ITiltSensorCalAware.cs
Common/DTS.Common/Interface/DASFactory/IRangeBandwidthLimited.cs
Common/DTS.Common/Interface/DASFactory/IAutoArmStatus.cs
Common/DTS.Common/Interface/DASFactory/ITimeSynchronization.cs
Common/DTS.Common/Interface/DASFactory/IConnectedEthernetDevice.cs
Common/DTS.Common/Interface/DASFactory/IDASReconfigure.cs
Common/DTS.Common/Interface/DASFactory/IDASConfigurationArg.cs
Common/DTS.Common/Interface/DASFactory/IRealtime.cs
Common/DTS.Common/Interface/DASFactory/IUDPQATSEntry.cs
Common/DTS.Common/Interface/DASFactory/IDASFactory.cs
Common/DTS.Common/Interface/DASFactory/ICommunication.cs
Common/DTS.Common/Interface/DASFactory/IDiscoveredDevice.cs
Common/DTS.Common/Interface/DASFactory/IAnalogInputDASChannel.cs
Common/DTS.Common/Interface/DASFactory/IDASCommunication.cs
2026-04-17T15:29:07.779002+00:00 zai-org/GLM-5-FP8 1 45ae757e0cac6506

DASFactory Interfaces Documentation

1. Purpose

This module defines the core abstraction layer for Data Acquisition System (DAS) hardware communication and management. It provides interfaces for device discovery, configuration, real-time data streaming, diagnostics, and channel-level sensor configuration. The interfaces enable polymorphic treatment of different DAS hardware types (SLICE, TDAS, S6, etc.) while exposing hardware-specific capabilities through optional interface implementations. This abstraction allows higher-level services to interact with diverse hardware through a unified API.


2. Public Interface

IDASFactory

The primary factory interface for DAS device lifecycle management.

Member Signature Description
StartMulticastAutoDiscovery void StartMulticastAutoDiscovery() Initiates multicast device discovery.
StopMulticastAutoDiscovery void StopMulticastAutoDiscovery() Halts multicast device discovery.
GetDiscoveredDevices IDiscoveredDevice[] GetDiscoveredDevices() Returns array of discovered devices.
PingAll bool PingAll() Pings all connected devices.
Language string Language { get; set; } Language setting.
TakeOwnership void TakeOwnership() Takes ownership of devices.
AllowSDBCommandPort bool AllowSDBCommandPort { get; set; } Controls SDB command port usage.
S6ConnectNewTimeout double S6ConnectNewTimeout { get; set; } Connection timeout for S6 devices.
SliceDBHostNames string[] SliceDBHostNames { get; set; } SLICE DB host names.
GetConnectedDevices string[] GetConnectedDevices() Returns connected device identifiers.
TDASHostNames string[] TDASHostNames { get; set; } TDAS host names.
TDASSerialPortNames string[] TDASSerialPortNames { get; set; } TDAS serial port names.
TDASSerialRackSerialNumber string TDASSerialRackSerialNumber { get; set; } TDAS rack serial number.
GetDASList List<IDASCommunication> GetDASList() Returns list of all connected DAS hardware.
GetSortedDASList List<IDASCommunication> GetSortedDASList() Returns sorted list of connected DAS hardware.
GetDevList List<ICommunication> GetDevList() Returns ICommunication objects for all connected hardware.
DetachAllDevices void DetachAllDevices(bool detachUSB = false) Makes factory forget all devices.
Refresh void Refresh(ActionCompleteDelegate action) Initiates refresh; calls action when complete.
MultiCastAutoDiscoveryDefaultTimeoutMS int MultiCastAutoDiscoveryDefaultTimeoutMS { get; set; } Timeout for multicast discovery receive.
AutoDiscoverMulticast SortableBindingList<IDiscoveredDevice> AutoDiscoverMulticast(CancellationToken cancelToken, bool discoverParents = true) Performs multicast auto-discovery.

IDASCommunication

The primary interface for interacting with a DAS unit. Extends IConfiguration, IDiagnos, ITriggerCheck, IRealTime, IArmStatus, IDownload, IInformation, IAutoArmStatus, IAutoArmed, IRangeBandwidthLimited, ITimeSynchronization, IComparable<IDASCommunication>, and IDisposable.

Member Signature Description
ExcitationStatus ExcitationStatus ExcitationStatus { get; set; } Excitation status for DAS.
ReadFirstUseDate void ReadFirstUseDate() Populates IsFirstUseDateSupported and FirstUseDate.
FirstUseDate DateTime? FirstUseDate { get; set; } Date of first use; null if not used since calibration.
IsFirstUseDateSupported bool IsFirstUseDateSupported { get; set; } Whether hardware supports first use date.
SetIsStreamingSupported void SetIsStreamingSupported(bool supported = false) Sets streaming support flag.
IsStreamingSupported bool IsStreamingSupported { get; set; } Whether streaming is supported.
ConnectionCheck bool ConnectionCheck() Quick connection check; returns true if unit is communicable.
GetHardwareType HardwareTypes GetHardwareType() Returns the hardware type.
GetStackChannelConfigTypes int[] GetStackChannelConfigTypes() Returns channel configuration types.
RecordId int RecordId { get; set; } Record identifier.
GetNominalRanges double[] GetNominalRanges(SensorConstants.BridgeType bridge) Returns nominal ranges for given bridge type.
InputLowVoltage float InputLowVoltage { get; set; } Low input voltage threshold.
InputMediumVoltage float InputMediumVoltage { get; set; } Medium input voltage threshold.
InputHighVoltage float InputHighVoltage { get; set; } High input voltage threshold.
BatteryLowVoltage float BatteryLowVoltage { get; set; } Low battery voltage threshold.
BatteryMediumVoltage float BatteryMediumVoltage { get; set; } Medium battery voltage threshold.
BatteryHighVoltage float BatteryHighVoltage { get; set; } High battery voltage threshold.
MinimumValidInputVoltage double MinimumValidInputVoltage { get; set; } Minimum valid input voltage.
MaximumValidInputVoltage double MaximumValidInputVoltage { get; set; } Maximum valid input voltage.
MinimumValidBatteryVoltage double MinimumValidBatteryVoltage { get; set; } Minimum valid battery voltage.
MaximumValidBatteryVoltage double MaximumValidBatteryVoltage { get; set; } Maximum valid battery voltage.
SerialNumber string SerialNumber { get; set; } Serial number of base unit.
FirmwareVersion string FirmwareVersion { get; } Installed firmware version.
DiagnosticsHasBeenRun bool DiagnosticsHasBeenRun { get; set; } Flag indicating if arm attributes should be defaulted.
ConfigureHasBeenRun bool ConfigureHasBeenRun { get; set; } Flag indicating if configure has been run.
NumberOfConfiguredChannels int NumberOfConfiguredChannels() Count of configured channels.
NumberOfChannels int NumberOfChannels() Total channel count.
MaxMemory long MaxMemory() Maximum memory for DAS.
MaxModules int MaxModules { get; set; } Maximum module count.
MinSampleRate uint MinSampleRate() Minimum sample rate.
MaxSampleRate uint MaxSampleRate(int numberOfConfiguredChannels) Maximum sample rate given channel count.
MaxAAFilterRate uint MaxAAFilterRate() Maximum anti-alias filter rate.
SupportsAutoArm bool SupportsAutoArm() Whether auto-arm is supported.
SupportsMultipleConfigurations bool SupportsMultipleConfigurations() Whether multiple configurations supported.
SupportsLevelTrigger bool SupportsLevelTrigger() Whether level trigger supported.
SupportsRealtime bool SupportsRealtime() Whether realtime streaming supported.
SupportsMultipleEvents bool SupportsMultipleEvents() Whether multiple events supported.
SupportsTriggerInversion bool SupportsTriggerInversion() Whether trigger completion inversion supported.
InvertTrigger bool InvertTrigger { set; } Sets trigger inversion.
SupportsStartInversion bool SupportsStartInversion() Whether start completion inversion supported.
InvertStart bool InvertStart { get; set; } Start inversion setting.
IgnoreShortedStart bool IgnoreShortedStart { get; set; } Ignore shorted start line.
IgnoreShortedTrigger bool IgnoreShortedTrigger { get; set; } Ignore shorted trigger line.
SupportsHardwareInputCheck bool SupportsHardwareInputCheck() Whether hardware supports checking input status.
SupportsMultipleSampleRealtime bool SupportsMultipleSampleRealtime() Whether multiple sample realtime supported.
ControlsDAQ bool ControlsDAQ() Whether DAS base controls DAQ for modules.
CheckAAF bool CheckAAF(float rate) Checks if new AAF rate is acceptable.
RequireDiagnosticRateMatchSampleRate bool RequireDiagnosticRateMatchSampleRate() Whether diagnostic rate must match sample rate.
GetPhaseShiftSamples ulong GetPhaseShiftSamples(uint ModuleIndex, double ActualSampleRate, uint HardwareAAF, ulong originalT0) Returns phase delay in samples.
IsEthernetDistributor bool IsEthernetDistributor() Whether device is an ethernet distributor.
GetCanCheckArmStatus bool GetCanCheckArmStatus() Whether unit can read arm status.
IsSlice6Distributor bool IsSlice6Distributor() Whether device is SLICE6DB.
IsBattery bool IsBattery() Whether device is battery-powered.
IsTSRAIR bool IsTSRAIR() Whether device is TSR AIR.
IsSlice6Air bool IsSlice6Air() Whether device is SLICE6 AIR.
IsSlice6AirTc bool IsSlice6AirTc() Whether device is SLICE6 AIR TC.
IsScheduleEventCountSupported bool IsScheduleEventCountSupported() Whether scheduled event count supported.
MACAddress string MACAddress { get; set; } MAC address.
DownstreamMACAddresses string[] DownstreamMACAddresses { get; set; } Downstream MAC addresses.
SupportsIndividualChannelRealtimeStreaming bool SupportsIndividualChannelRealtimeStreaming { get; } Whether selectable channel realtime streaming supported.

ICommunication

Interface for low-level hardware communication. Extends IComparable<ICommunication> and IComparable<string>.

Member Signature Description
ErrorInSetup bool ErrorInSetup { get; set; } Indicates error during setup.
Transport IConnection Transport { get; set; } Transport connection.
SetupReader void SetupReader() Sets up receive buffer and callback.
ReceiveBufferSize int ReceiveBufferSize { get; set; } Receive buffer size.
SerialNumber string SerialNumber { get; set; } Device serial number.
FirmwareVersion string FirmwareVersion { get; set; } Firmware version.
ProtocolVersion byte ProtocolVersion { get; set; } Protocol version.
DASInfo ICommunication_DASInfo DASInfo { get; set; } DAS information.
MinimumProtocols `Dictionary<DFConstantsAndEnums.ProtocolLimitedCommands, byte> MinimumProtocols { get; set