Files
DP44/docs/ai/DataPRO/IService/Interfaces.md
2026-04-17 14:55:32 -04:00

16 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/IService/Interfaces/IAutoArmStatus.cs
DataPRO/IService/Interfaces/ITimeActions.cs
DataPRO/IService/Interfaces/IService.cs
DataPRO/IService/Interfaces/IRealtime.cs
DataPRO/IService/Interfaces/IDiagnos.cs
DataPRO/IService/Interfaces/IDASCommunicationComparer.cs
DataPRO/IService/Interfaces/IDASCommunicationEqComparer.cs
DataPRO/IService/Interfaces/IUARTDownloadActions.cs
DataPRO/IService/Interfaces/ITriggerCheckActions.cs
DataPRO/IService/Interfaces/IRealTimeActions.cs
DataPRO/IService/Interfaces/IDownloadActions.cs
DataPRO/IService/Interfaces/IClockSyncActions.cs
DataPRO/IService/Interfaces/IDiagnosticsActions.cs
DataPRO/IService/Interfaces/IConfigurationActions.cs
DataPRO/IService/Interfaces/IArmActions.cs
DataPRO/IService/Interfaces/IDASCommunication.cs
2026-04-17T15:29:43.501644+00:00 zai-org/GLM-5-FP8 1 ddda8c0520405fd5

DTS.DASLib.Service Interfaces Documentation

1. Purpose

This module defines the core service interfaces for communicating with Data Acquisition System (DAS) hardware units. It provides abstractions for configuration, diagnostics, arming/disarming, real-time data streaming, download operations, trigger checking, clock synchronization, and time actions. The primary interface IDASCommunication serves as the central contract representing a physical DAS unit, aggregating multiple capability interfaces. These interfaces enable a service-oriented architecture where operations are performed asynchronously via callbacks.


2. Public Interface

Delegates

ServiceCallback

Signature: delegate void ServiceCallback(ServiceCallbackData data)

  • Description: The delegate type used for asynchronous service callbacks. All service methods accept this callback to return results.

Interfaces

IDASCommunication

Namespace: DTS.DASLib.Service

The primary interface representing a DAS hardware unit. Inherits from: IConfiguration, IDiagnos, ITriggerCheck, IRealTime, IArmStatus, IDownload, IInformation, IComparable<IDASCommunication>, IDisposable, IAutoArmStatus, IAutoArmed, IRangeBandwidthLimited, ITimeSynchronization.

Properties:

Property Type Description
RecordId int Record identifier.
SerialNumber string Serial number of the base unit.
FirmwareVersion string Currently installed firmware version.
InputLowVoltage, InputMediumVoltage, InputHighVoltage float Input voltage thresholds.
BatteryLowVoltage, BatteryMediumVoltage, BatteryHighVoltage float Battery voltage thresholds.
MinimumValidInputVoltage, MaximumValidInputVoltage double Valid input voltage range.
MinimumValidBatteryVoltage, MaximumValidBatteryVoltage double Valid battery voltage range.
DiagnosticsHasBeenRun bool Indicates if diagnostics have been run; also signals if arm attributes should be defaulted.
ConfigureHasBeenRun bool Indicates if configuration has been applied.
MaxModules int Maximum number of modules supported.
InvertTrigger bool Sets trigger inversion (write-only).
InvertStart bool Gets/sets start line inversion.
IgnoreShortedStart, IgnoreShortedTrigger bool Flags for ignoring shorted lines.
MACAddress string Device MAC address.
DownstreamMACAddresses string[] MAC addresses of downstream devices.
SupportsIndividualChannelRealtimeStreaming bool Indicates support for selectable channel realtime streaming.
AutoArmUDPSetting string UDP settings for auto arm status broadcast.

Methods:

Method Return Type Description
GetNominalRanges(SensorConstants.BridgeType bridge) double[] Returns nominal ranges for given bridge type.
NumberOfConfiguredChannels() int Count of configured channels.
NumberOfChannels() int Total channel count.
MaxMemory() long Maximum memory capacity.
MinSampleRate() uint Minimum sample rate.
MaxSampleRate() uint Maximum sample rate.
SupportsAutoArm() bool Auto-arm capability check.
SupportsLevelTrigger() bool Level trigger capability check.
SupportsRealtime() bool Realtime streaming capability check.
SupportsMultipleEvents() bool Multiple event support check.
SupportsTriggerInversion() bool Trigger inversion capability check.
SupportsStartInversion() bool Start inversion capability check.
SupportsHardwareInputCheck() bool Hardware input status check capability.
SupportsMultipleSampleRealtime() bool Multiple sample realtime capability check.
ControlsDAQ() bool Returns true if base unit controls DAQ for modules.
CheckAAF(float rate) bool Validates new AAF rate against configured rate.
RequireDiagnosticRateMatchSampleRate() bool Checks if diagnostic rate must match sample rate.
GetPhaseShiftSamples(uint ModuleIndex, double ActualSampleRate, uint HardwareAAF, ulong originalT0) ulong Returns phase delay in samples.
IsEthernetDistributor() bool Returns true for ethernet distributor devices (SLICEDb, SLICE ECM, SLICE6DB).
IsSlice6Distributor() bool Returns true for SLICE6DB devices.

IConfigurationActions

Namespace: DTS.DASLib.Service

Methods:

Method Description
AutoDetect(bool bQueryConfiguration, ServiceCallback callback, object userData) Sets channels to auto-detect configuration and queries sensor types.
VerifyConfig(bool DoStrictCheck) / VerifyConfig(bool DoStrictCheck, ErrorCallback FailedChallengeFunc) Validates ConfigData property.
SetFirstUseDate(DateTime firstUseDate, ServiceCallback callback, object userData) Sets user attribute for first use date.
StoreTestSetupXML(ServiceCallback callback, object userData, string testSetupXML) Stores test setup XML.
ResetHardwareLines(ServiceCallback callback, object userData) Resets trigger/start lines.
CheckAAFilterRate(ServiceCallback callback, object userData) Validates AA filter rate.
QueryTestSetup(ServiceCallback callback, object userData) Queries test setup.
Configure(ServiceCallback callback, object userData, bool bEventConfig, bool DummyConfig, double[] MaxAAF, bool configureDigitalOutputs, uint crc, bool turnOffAAFRealtime, IStreamingFilterProfile dspFilterType, bool discardDiagnostics, ...) Applies ConfigData to DAS hardware.
ApplyLevelTriggers(ServiceCallback callback, object userData) Applies level triggers only.
QueryConfiguration(ServiceCallback callback, object userData, uint crc, string strConfig, bool bReadIds, bool bDeviceScaleFactors, bool sourceDASStorageList) Retrieves configuration from DAS.
UpdateConfigurationFromFile(ServiceCallback callback, object userData, string filePath) Updates configuration from file.
UpdateIDs(ServiceCallback callback, object userData) Retrieves and stores EIDs.
UpdateId(ServiceCallback callback, object userData, DASModule module, DASChannel channel) Updates single ID.
CheckSafetyState(bool bArmed, ServiceCallback callback, object userData) Checks safety state.
Reboot(ServiceCallback callback, object userData) Reboots the device.

IDiagnosticsActions

Namespace: DTS.DASLib.Service

Methods:

Method Description
ClearTriggerOut(ServiceCallback callback, object userData) Clears trigger out line via SetSwitchImmediate.
ClearLatches(ServiceCallback callback, object userData) Clears latched FPGA via QATS call.
PerformVoltageCheck(ServiceCallback callback, object userData) Performs voltage check.
PerformVoltageCheckTAOnly(ServiceCallback callback, object userData) Voltage check for TA only.
PerformArmChecks(ServiceCallback callback, object userData) Performs arm checks.
SaveTiltSensorDataPre(ServiceCallback callback, object userData) Saves tilt sensor data.
SaveTemperaturesPre(ServiceCallback callback, object userData) Saves temperatures.
PrepareForBridgeResistanceMeasurement(UInt32 DiagnosticsSampleRateHz, float DiagnosticsAAFilterFrequencyHz, ServiceCallback callback, object userData) Prepares for bridge resistance measurement; required if units were in low power mode.
PrepareForDiagnostics(UInt32 DiagnosticsSampleRateHz, float DiagnosticsAAFilterFrequencyHz, PrePostResults WhichResult, ServiceCallback callback, object userData) Prepares for diagnostics.
SetStatusIndicator(DiagnosticsStatusIndicatorState state, ServiceCallback callback, object userData) Sets status indicator.
DiagnosAndGetResults(int EventNumber, PrePostResults WhichResult, ServiceCallback callback, object userData) Performs diagnostics and stores results.
GetEventDiagnosticsResults(int EventNumber, PrePostResults WhichResult, ServiceCallback callback, object userData) Retrieves pre/post event diagnostic results.
ClearDASTriggerLine(ServiceCallback callback, object userData) Clears trigger lines for any DAS.
SquibFireCheckArm(double delay, double duration, ServiceCallback callback, object userData) Squib fire check arm.
TriggerCheckTrigger(ServiceCallback callback, object userData) Trigger check trigger.
TriggerCheckDownload(double delay, double duration, float diagnosticsAAFilterFrequencyHz, uint diagnosticsSampleRateHz, ServiceCallback callback, object userData) Trigger check download.
GetBridgeMeasurement(ServiceCallback callback, object userData) Gets bridge measurement.
MeasureTransferSpeed(ServiceCallback callback, object userData) Measures transfer speed.

IDownloadActions (internal)

Namespace: DTS.DASLib.Service

Methods:

Method Description
Download(ServiceCallback callback, object userData) Downloads data specified in WhatToDownload property.
Cancel() Cancels current operation.
ForceCancel() Cancels with smaller clear cancel time.
ClearCancel() Clears cancel flag.
QueryDownload(ServiceCallback callback, object userData, int eventIndex, TDASServiceSetupInfo setupInfo) Retrieves info about available events.
QueryDownloadedStatus(ServiceCallback callback, object userData) Checks if events have been downloaded.
SetTriggerSampleNumbers(ServiceCallback callback, object userData) Updates recorded trigger sample numbers in HW.
SetDownloaded(ServiceCallback callback, object userData) Sets event status to downloaded (when no data to download).
SetEventInfo(int eventIndex, string id, Guid guid, ulong totalSamples, ulong[] triggerSamples, ulong startRecordSample, UInt32 eventHasDownloaded, ServiceCallback callback, object userData) Updates event with new information.
CorrectT0s(ServiceCallback callback, object userData) Corrects T0 and total samples recorded; searches ADC for rails and peaks/troughs.

IArmActions (internal)

Namespace: DTS.DASLib.Service

Methods:

Method Description
TurnOffT0Lights(ServiceCallback callback, object userData) Turns off T0 lights.
BeginBackgroundFlashErase(ServiceCallback callback, object userData) Initiates background flash erase (returns immediately).
BeginFlashErase(ServiceCallback callback, object userData, bool DummyArm) Starts asynchronous flash erase.
QueryFlashEraseStatus(ServiceCallback callback, object userData) Queries flash erase progress and errors.
ReadyForArming(ServiceCallback callback, object userData, Guid eventGuid, int armNowTimeout, bool testingMode, int maxNumberEvents, bool DummyArm, bool SysMode) Prepares for arming.
ArmNow(ServiceCallback callback, object userData, Guid eventGuid, int armNowTimeout, bool testingMode, int maxNumberEvents, bool SysMode) Arms a single DAS immediately.
PrepareForArmNow(...) Prepares for immediate arm.
PreparedArmNow(...) Executes prepared arm.
ReArm(ServiceCallback callback, object userData, bool autoArm, bool arm, bool repeatEnable) Re-arms all units with optional flags.
AutoArmNow(ServiceCallback callback, object userData, Guid eventGuid, int armNowTimeout, bool testingMode, UInt32 diagnosticsDelayMs, int MaxEventCount, bool repeatEnable, bool preserveDiagnostics) Auto-arms a single DAS.
EnableFaultChecking(ServiceCallback callback, object userData) Enables fault checking for chained DAS.
CheckAlreadyLevelTriggered(ServiceCallback callback, object userData) Checks if channels are level triggered.
Disarm(ServiceCallback callback, object userData) Disarms the DAS.
DisAutoArm(ServiceCallback callback, object userData) Disables auto-arm.
GetArmStatus(ServiceCallback callback, object userData, uint inputVoltageCutoff, int maxTimeout) Retrieves current arm status.
GetAutoArmStatus(ServiceCallback callback, object userData) Retrieves current auto-arm status.
EnterLowPowerMode(ServiceCallback callback, object userData) Sets DAS to low power mode.
StartRecord(ServiceCallback callback, object userData) Tells DAS to start recording.
Trigger(ServiceCallback callback, object userData) Sends trigger signal to hardware.
GetExtendedFaultIds(ServiceCallback callback, object userData) Queries extended fault IDs from hardware.

Properties:

Property Type Description
SupportsBackgroundFlashErase bool Whether unit supports flash erase.
BackgroundFlashEraseStarted bool Whether flash erase has started.
BackgroundFlashEraseStartTime DateTime? Start time of background flash erase.

IRealTimeActions (internal)

Namespace: DTS.DASLib.Service

Methods:

Method Description
RealTime(int samplesPerSec, int msBetweenSamples, ServiceCallback callback, object userData, bool allowMultipleSampleRealtime, int moduleIndex, ManualResetEvent stopEvent, byte[] channels, double aaf, int minCallbackUpdateTimeMs, bool UseUDPStreaming, string HostIPAddress) Starts realtime data streaming at specified rate.
RealTimePolling(ServiceCallback callback, object userData, ManualResetEvent stopEvent, byte[] channels) Realtime via active polling for sample averages.
ExitRealTimeMode(ServiceCallback callback, object userData) Stops realtime data streaming.
RealTimeTiltPolling(ServiceCallback callback, object userData, ManualResetEvent stopEvent) Realtime tilt data polling.
SetUDPStreamProfile(ServiceCallback callback, object userData, UDPStreamProfile streamProfile, string udpAddress, ushort timeChannelId, ushort dataChannelId, uint[] tmnsConfig, ushort irigTimeDataPacketIntervalMs) Configures UDP streaming profile.
GetUDPStreamProfile(ServiceCallback callback, object userData) Retrieves UDP stream profile.

ITriggerCheckActions (internal)

Namespace: DTS.DASLib.Service

Methods:

Method Description
PreStartTriggerCheck(ServiceCallback callback, object userData) Preparation before StartTriggerCheck; called explicitly by StartTriggerCheck service.
PostStartTriggerCheck(ServiceCallback callback, object userData) Actions after StartTriggerCheck; called explicitly by StartTriggerCheck service.
StartTriggerCheck(ServiceCallback callback, object userData) Changes DAS mode to latch signal lines.
DoTriggerCheck(ServiceCallback callback, object userData) Performs trigger check (async); stores result in TriggerResult property.
DoTriggerCheckSync() Synchronous version of DoTriggerCheck.
DoStartCheck(ServiceCallback callback, object userData) Performs start check; stores result in StartResult property.
CancelTriggerCheck(ServiceCallback callback, object userData) Sets latching mechanism back to normal.

IClockSyncActions

Namespace: DTS.DASLib.Service.Interfaces

Methods:

Method Description
GetClockSyncStatus(ServiceCallback callback, object userData) Retrieves clock source and sync status. Response includes input/output sync sources, sync status bits, arm state, and PTP timestamps.
SetClockSyncConfig(ServiceCallback callback, object userData, ClockSyncProfile profile) Sets input/output clock configuration. Supports PTP, IRIG-B122, GPS, and 1PPS inputs.
`GetPTP