Files
DP44/DataPRO/IService/Interfaces/IConfigurationActions.cs
2026-04-17 14:55:32 -04:00

112 lines
6.0 KiB
C#

using DTS.Common.Interface.DASFactory;
using DTS.Common.Interface.StatusAndProgressBar;
using System;
using System.Collections.Generic;
using DTS.Common.Enums;
using System.IO.Ports;
using DTS.Common.Classes.DSP;
namespace DTS.DASLib.Service
{
public interface IConfigurationActions
{
/// <summary>
/// for DAS that support setting channel types and auto detecting attached sensor types
/// this sets the channels back into auto detect configuration and out of a forced
/// configuration.
/// an example of this is SLICE 2 which supports forced IEPE and forced bridge (and autodect)
/// this sets the bridge type and queries each channel for channel type and stores the result in ConfigData channels
/// [(c as AnalogInputDASChannel).IEPEChannel]
/// </summary>
/// <param name="callback"></param>
/// <param name="userData"></param>
void AutoDetect(bool bQueryConfiguration, ServiceCallback callback, object userData);
/// <summary>
/// Verify that the ConfigData property is correctly constructed
/// </summary>
/// <param name="DoStrictCheck">Set to true if your're arming</param>
void VerifyConfig(bool DoStrictCheck);
void VerifyConfig(bool DoStrictCheck, ErrorCallback FailedChallengeFunc);
/// <summary>
/// sets the user attributes for first use date to the given date
/// to unset the date the firstUseDate should be set to MsqlDateTime.MinValue
/// </summary>
/// <param name="firstUseDate"></param>
/// <param name="callback"></param>
/// <param name="userData"></param>
void SetFirstUseDate(DateTime firstUseDate, ServiceCallback callback, object userData);
/// <summary>
/// resets trigger/start line attributes in SLICE,
/// calls ArmOff for TDAS
/// </summary>
void StoreTestSetupXML(ServiceCallback callback, object userData, string testSetupXML);
void ResetHardwareLines(ServiceCallback callback, object userData);
void CheckAAFilterRate(ServiceCallback callback, object userData);
void QueryTestSetup(ServiceCallback callback,
object userData);
/// <summary>
/// Apply the data in the ConfigData property to the DAS
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
/// <param name="MaxAAF">array of double for Max AAF, 0 is TDAS, 1 is G5, not needed for slice, so not used</param>
/// <param name="tmatsIntervals">lookup with interval between sending TMATS while streaming
/// key is unit and value is time in ms</param>
void Configure(ServiceCallback callback,
object userData,
bool bEventConfig,
bool DummyConfig,
double[] MaxAAF,
bool configureDigitalOutputs,
uint crc,
bool turnOffAAFRealtime,
IStreamingFilterProfile dspFilterType,
bool discardDiagnostics, Dictionary<IDASCommunication, ushort> timeChannelIds, Dictionary<IDASCommunication, ushort> dataChannelIds,
Dictionary<IDASCommunication, UDPStreamProfile> streamProfiles, Dictionary<IDASCommunication, int> streamADCPerPacket, Dictionary<IDASCommunication, ushort> irigTDPIntervals,
Dictionary<IDASCommunication, string> addresses, Dictionary<IDASCommunication, uint[]> tmnsConfigs,
Dictionary<IDASCommunication, uint> baudRates, Dictionary<IDASCommunication, uint> dataBits, Dictionary<IDASCommunication, StopBits> stopBits,
Dictionary<IDASCommunication, Parity> parities, Dictionary<IDASCommunication, Handshake> flowControls, Dictionary<IDASCommunication, UartDataFormat> dataFormats,
Dictionary<IDASCommunication, ushort> tmatsIntervals
);
/// <summary>
/// Apply level triggers only [no other configuration actions]
/// </summary>
/// <param name="callback"></param>
/// <param name="userData"></param>
void ApplyLevelTriggers(ServiceCallback callback, object userData);
/// <summary>
/// Retrieve configuration from DAS and store it in the ConfigData property
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void QueryConfiguration(ServiceCallback callback, object userData, uint crc, string strConfig, bool bReadIds, bool bDeviceScaleFactors = true, bool sourceDASStorageList = false);
/// <summary>
/// updates the configuration on the units using a file as input data
/// 17872 Use DASConfig XMLs on disk when performing an emergency download with DAS that have blank filestore(s)
/// </summary>
void UpdateConfigurationFromFile(ServiceCallback callback, object userData, string filePath);
/// <summary>
/// Retrieve the EID's and store it in the ConfigData property
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void UpdateIDs(ServiceCallback callback, object userData);
void UpdateId(ServiceCallback callback, object userData, DASModule module, DASChannel channel);
void CheckSafetyState(bool bArmed, ServiceCallback callback, object userData);
/// <summary>
/// Reboot a device
/// FB15335: Move UART and ClockProfile sets to RunTest -> Hardware NavStep, add Reboot
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void Reboot(ServiceCallback callback, object userData);
}
}