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

7.4 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/IService/Classes/TDAS Service/TDAS Service.cs
DataPRO/IService/Classes/TDAS Service/Public.cs
DataPRO/IService/Classes/TDAS Service/TriggerCheck.cs
2026-04-17T15:33:04.937990+00:00 zai-org/GLM-5-FP8 1 cace7bc59e68c7cc

TDAS Service Documentation

1. Purpose

The TDAS<T> class is a generic data acquisition system (DAS) service implementation that provides communication, configuration, diagnostics, trigger checking, real-time operations, arming, and download functionality for TDAS hardware devices. It serves as an abstraction layer between the application and physical TDAS hardware, supporting both Ethernet and Serial connections through its generic type parameter. The class implements multiple action interfaces to provide a unified API for interacting with various TDAS hardware types (G5, TDAS Pro Rack, SIM, TOM, LabRack) identified by their serial number prefixes.

2. Public Interface

Class Declaration

public partial class TDAS<T> : Communication<T>,
    IDASCommunication,
    IConfigurationActions,
    IDiagnosticsActions,
    ITriggerCheckActions,
    IRealTimeActions,
    IArmActions,
    IDownloadActions where T : IConnection, new()

Hardware Identification Methods

Method Signature Behavior
GetHardwareType() public HardwareTypes GetHardwareType() Returns hardware type based on SerialNumber prefix: "5M" → G5 variants, "DR" → TDAS_Pro_Rack, "SM" → SIM, "TOM" → TOM, "LR" → TDAS_LabRack. Defaults to TDAS_Pro_Rack for unrecognized prefixes.
IsEthernetDistributor() public bool IsEthernetDistributor() Always returns false.
IsSlice6Distributor() public bool IsSlice6Distributor() Always returns false.
IsBattery() public bool IsBattery() Always returns false.
IsTSRAIR() public bool IsTSRAIR() Always returns false.
IsSlice6Air() public bool IsSlice6Air() Always returns false.
IsSlice6AirTc() public bool IsSlice6AirTc() Always returns false.
IsScheduleEventCountSupported() public bool IsScheduleEventCountSupported() Always returns false.

Configuration Properties & Methods

Member Signature Behavior
ConfigData public IConfigurationData ConfigData { get; set; } Holds configuration data for the DAS.
NumberOfConfiguredChannels() public int NumberOfConfiguredChannels() Returns ConfigData.NumberOfConfiguredChannels() or 0 if ConfigData is null.
NumberOfChannels() public int NumberOfChannels() Returns ConfigData.NumberOfChannels() or 0 if ConfigData is null.
ConfigureHasBeenRun public bool ConfigureHasBeenRun { get; set; } Tracks whether configuration has been executed.

Diagnostics Properties & Methods

Member Signature Behavior
ChannelDiagnostics public IDiagnosticActions[] ChannelDiagnostics { get; set; } Array of channel diagnostic actions.
ChannelDiagnosticsResults public IDiagnosticResult[] ChannelDiagnosticsResults { get; set; } Array of channel diagnostic results.
SetChannelDiagnosticActions() public void SetChannelDiagnosticActions(IDiagnosticActions[] actions, bool setInDb = true) Delegates to DiagnosticsActions.SetChannelDiagnosticActions().
ClearChannelDiagnosticsResults() public void ClearChannelDiagnosticsResults(bool bClearDb = true) Delegates to DiagnosticsResultActions.ClearChannelDiagnosticsResults().
SetChannelDiagnosticsResults() public void SetChannelDiagnosticsResults(IDiagnosticResult[] results, bool setInDb) Delegates to DiagnosticsResultActions.SetChannelDiagnosticsResults().
DiagnosticsHasBeenRun public bool DiagnosticsHasBeenRun { get; set; } Tracks whether diagnostics have been executed.

Arm Status Properties & Methods

Member Signature Behavior
DASArmStatus public IArmStatusData DASArmStatus { get; set; } Current arm status of the DAS.
AutoArmStatus public DFConstantsAndEnums.CommandStatus AutoArmStatus { get; set; } Status of auto-arm operation.
GetIsInArm() public bool GetIsInArm() Returns DASArmStatus.IsArmed or false if DASArmStatus is null.
GetIsInRealtime() public bool GetIsInRealtime() Returns DASArmStatus.IsInRealtime or false if DASArmStatus is null.
GetIsStreaming() public bool GetIsStreaming() Always returns false.
SetInArm() public void SetInArm(bool WriteToDb) Sets DASArmStatus.IsArmed = true.
SetInRealtime() public void SetInRealtime(bool WriteToDb, bool ExitRealtimeIfPossible) Sets DASArmStatus.IsInRealtime = true.
SetDASArmStatus() public void SetDASArmStatus() Overload that persists current DASArmStatus to database.
SetDASArmStatus() public void SetDASArmStatus(IArmStatusData status, bool bSetInDb) Delegates to ArmStatus.SetArmStatus().

Trigger Check Methods (ITriggerCheckActions)

Method Signature Behavior
PreStartTriggerCheck() void ITriggerCheckActions.PreStartTriggerCheck(ServiceCallback callback, object userData) Immediately invokes success callback. No hardware interaction.
PostStartTriggerCheck() void ITriggerCheckActions.PostStartTriggerCheck(ServiceCallback callback, object userData) Immediately invokes success callback. No hardware interaction.
StartTriggerCheck() void ITriggerCheckActions.StartTriggerCheck(ServiceCallback callback, object userData) Asynchronously arms the device using TestTrigger or TestTriggerBroadcast commands depending on G5 mode.
DoTriggerCheck() void ITriggerCheckActions.DoTriggerCheck(ServiceCallback callback, object userData) Asynchronously checks trigger status using TestAll command with PREV mode.
DoStartCheck() void ITriggerCheckActions.DoStartCheck(ServiceCallback callback, object userData) Asynchronously checks if recording has started using TestAll command.
DoTriggerCheckSync() void ITriggerCheckActions.DoTriggerCheckSync() Throws NotImplementedException.
CancelTriggerCheck() void ITriggerCheckActions.CancelTriggerCheck(ServiceCallback callback, object userData) Asynchronously cancels trigger check by sending TestTrigger.SubCommandValues.OFF to modules.

Download Properties & Methods

Member Signature Behavior
WhatToDownload public IDownloadRequest WhatToDownload { get; set; } Download request configuration.
EventInfo public IDownloadReport EventInfo { get; set; } Event information for download.
EventDownloadedStatus public bool[] EventDownloadedStatus { get; set; } Array tracking download status per event.
EventGuids public Guid[] EventGuids { get; set; } GUIDs for events.
FaultFlags public ushort[] FaultFlags { get; set; } Fault flags for events.
ArmAttempts public byte[] ArmAttempts { get; set; } Arm attempt counts.
SetWhatToDownload() public void SetWhatToDownload(IDownloadRequest request, bool bSetInDb = true) Delegates to DownloadRequest.SetWhatToDownload().
SetEventInfo() public void SetEventInfo(IDownloadReport eventInfo, bool bSetInDb = true) Delegates to `DownloadReport.Set