100 lines
5.6 KiB
C#
100 lines
5.6 KiB
C#
|
|
|
|
using System;
|
|
|
|
namespace DTS.DASLib.Service
|
|
{
|
|
public interface IDiagnosticsActions
|
|
{
|
|
/// <summary>
|
|
/// clears the trigger out line via SetSwitchImmediate
|
|
/// </summary>
|
|
void ClearTriggerOut(ServiceCallback callback, object userData);
|
|
/// <summary>
|
|
/// clears any latched FPGA via a QATS call
|
|
/// </summary>
|
|
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);
|
|
/// <summary>
|
|
/// If any of the units to run diagnostics are in
|
|
/// <see cref="DTS.DASLib.Service.ArmingService">
|
|
/// DTS.DASLib.Service.ArmingService.EnterLowPowerMode</see> then the analog circuits must be "warmed up" before accurate
|
|
/// diagnostics can be performed. If the units have not been placed into
|
|
/// <see cref="DTS.DASLib.Service.ArmingService">DTS.DASLib.Service.ArmingService.EnterLowPowerMode</see> then there is no need to call
|
|
/// this but since it is quite important habitually calling it everytime
|
|
/// diagnostics are performed would be beneficial.
|
|
/// </summary>
|
|
/// <param name="DiagnosticsSampleRateHz">The firmware will use this sample rate when
|
|
/// collecting diagnostics data from the channel.</param>
|
|
/// <param name="DiagnosticsAAFilterFrequencyHz">The firmware will use this Anti-Aliasing
|
|
/// filter when collectin diagnostics data from the channel.</param>
|
|
/// <param name="callback">The function to call with information.</param>
|
|
/// <param name="userData">Whatever you want to pass along.</param>
|
|
void PrepareForBridgeResistanceMeasurement(UInt32 DiagnosticsSampleRateHz,
|
|
float DiagnosticsAAFilterFrequencyHz,
|
|
ServiceCallback callback, object userData);
|
|
|
|
/// <summary>
|
|
/// Perform diagnostics based on the property ChannelDiagnostics and stuff the
|
|
/// result in ChannelDiagnosticsResults
|
|
/// </summary>
|
|
/// <param name="DiagnosticsSampleRateHz">sample rate</param>
|
|
/// <param name="DiagnosticsAAFilterFrequencyHz">AA Filter rate</param>
|
|
/// <param name="callback">The function to call with information</param>
|
|
/// <param name="userData">Whatever you want to pass along</param>
|
|
void PrepareForDiagnostics(UInt32 DiagnosticsSampleRateHz,
|
|
float DiagnosticsAAFilterFrequencyHz,
|
|
DTS.DASLib.Service.PrePostResults WhichResult,
|
|
ServiceCallback callback, object userData);
|
|
|
|
void SetStatusIndicator(DiagnosticsStatusIndicatorState state,
|
|
ServiceCallback callback, object userData);
|
|
|
|
/// <summary>
|
|
/// Perform diagnostics based on the property ChannelDiagnostics and stuff the
|
|
/// result in ChannelDiagnosticsResults
|
|
/// </summary>
|
|
/// <param name="callback">The function to call with information</param>
|
|
/// <param name="userData">Whatever you want to pass along</param>
|
|
void DiagnosAndGetResults(int EventNumber, PrePostResults WhichResult,
|
|
ServiceCallback callback, object userData);
|
|
|
|
/// <summary>
|
|
/// Retrieve the results from the implicit pre and post event diagnostics
|
|
/// </summary>
|
|
/// <param name="EventNumber">Which event number to Retrieve from</param>
|
|
/// <param name="WhichResult">The pre or post test results?</param>
|
|
/// <param name="callback">The function to call with information</param>
|
|
/// <param name="userData">Whatever you want to pass along</param>
|
|
void GetEventDiagnosticsResults(int EventNumber, PrePostResults WhichResult,
|
|
ServiceCallback callback, object userData);
|
|
/// <summary>
|
|
/// 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
|
|
/// </summary>
|
|
/// <param name="callback"></param>
|
|
/// <param name="userData"></param>
|
|
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);
|
|
/// <summary>
|
|
/// Perform diagnostics based on the property ChannelDiagnostics and stuff the
|
|
/// result in ChannelDiagnosticsResults
|
|
/// </summary>
|
|
/// <param name="callback">The function to call with information</param>
|
|
/// <param name="userData">Whatever you want to pass along</param>
|
|
void GetBridgeMeasurement(ServiceCallback callback, object userData);
|
|
void MeasureTransferSpeed(ServiceCallback callback, object userData);
|
|
}
|
|
}
|