using System; namespace DTS.DASLib.Service { public interface IDiagnosticsActions { /// /// clears the trigger out line via SetSwitchImmediate /// void ClearTriggerOut(ServiceCallback callback, object userData); /// /// clears any latched FPGA via a QATS call /// void ClearLatches(ServiceCallback callback, object userData); void PerformVoltageCheck(ServiceCallback callback, object userData); void PerformVoltageCheckTAOnly(ServiceCallback callback, object userData); void PerformArmChecks(ServiceCallback callback, object userData); void SaveTiltSensorDataPre(ServiceCallback callback, object userData); void SaveTemperaturesPre(ServiceCallback callback, object userData); /// /// If any of the units to run diagnostics are in /// /// DTS.DASLib.Service.ArmingService.EnterLowPowerMode then the analog circuits must be "warmed up" before accurate /// diagnostics can be performed. If the units have not been placed into /// DTS.DASLib.Service.ArmingService.EnterLowPowerMode then there is no need to call /// this but since it is quite important habitually calling it everytime /// diagnostics are performed would be beneficial. /// /// The firmware will use this sample rate when /// collecting diagnostics data from the channel. /// The firmware will use this Anti-Aliasing /// filter when collectin diagnostics data from the channel. /// The function to call with information. /// Whatever you want to pass along. void PrepareForBridgeResistanceMeasurement(UInt32 DiagnosticsSampleRateHz, float DiagnosticsAAFilterFrequencyHz, ServiceCallback callback, object userData); /// /// Perform diagnostics based on the property ChannelDiagnostics and stuff the /// result in ChannelDiagnosticsResults /// /// sample rate /// AA Filter rate /// The function to call with information /// Whatever you want to pass along void PrepareForDiagnostics(UInt32 DiagnosticsSampleRateHz, float DiagnosticsAAFilterFrequencyHz, DTS.DASLib.Service.PrePostResults WhichResult, ServiceCallback callback, object userData); void SetStatusIndicator(DiagnosticsStatusIndicatorState state, ServiceCallback callback, object userData); /// /// Perform diagnostics based on the property ChannelDiagnostics and stuff the /// result in ChannelDiagnosticsResults /// /// The function to call with information /// Whatever you want to pass along void DiagnosAndGetResults(int EventNumber, PrePostResults WhichResult, ServiceCallback callback, object userData); /// /// Retrieve the results from the implicit pre and post event diagnostics /// /// Which event number to Retrieve from /// The pre or post test results? /// The function to call with information /// Whatever you want to pass along void GetEventDiagnosticsResults(int EventNumber, PrePostResults WhichResult, ServiceCallback callback, object userData); /// /// clears the trigger lines for any DAS /// 14229 DataPRO crash when run diagnostics second time /// note there's already a service to clear the trigger lines for S6DB, ECM (TriggerCheck.PreStart) /// 5211 for more info /// however we need one for DAS that will explictly run AFTER prestart runs /// this service just sets trigger out to 0 and runs QATS to reset the FPGA on affected units /// /// /// void ClearDASTriggerLine(ServiceCallback callback, object userData); void SquibFireCheckArm(double delay, double duration, ServiceCallback callback, object userData); void TriggerCheckTrigger(ServiceCallback callback, object userData); void TriggerCheckDownload(double delay, double duration, float diagnosticsAAFilterFrequencyHz, uint diagnosticsSampleRateHz, ServiceCallback callback, object userData); /// /// Perform diagnostics based on the property ChannelDiagnostics and stuff the /// result in ChannelDiagnosticsResults /// /// The function to call with information /// Whatever you want to pass along void GetBridgeMeasurement(ServiceCallback callback, object userData); void MeasureTransferSpeed(ServiceCallback callback, object userData); } }