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 { /// /// 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] /// /// /// void AutoDetect(bool bQueryConfiguration, ServiceCallback callback, object userData); /// /// Verify that the ConfigData property is correctly constructed /// /// Set to true if your're arming void VerifyConfig(bool DoStrictCheck); void VerifyConfig(bool DoStrictCheck, ErrorCallback FailedChallengeFunc); /// /// sets the user attributes for first use date to the given date /// to unset the date the firstUseDate should be set to MsqlDateTime.MinValue /// /// /// /// void SetFirstUseDate(DateTime firstUseDate, ServiceCallback callback, object userData); /// /// resets trigger/start line attributes in SLICE, /// calls ArmOff for TDAS /// 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); /// /// Apply the data in the ConfigData property to the DAS /// /// The function to call with information /// Whatever you want to pass along /// array of double for Max AAF, 0 is TDAS, 1 is G5, not needed for slice, so not used /// lookup with interval between sending TMATS while streaming /// key is unit and value is time in ms void Configure(ServiceCallback callback, object userData, bool bEventConfig, bool DummyConfig, double[] MaxAAF, bool configureDigitalOutputs, uint crc, bool turnOffAAFRealtime, IStreamingFilterProfile dspFilterType, bool discardDiagnostics, Dictionary timeChannelIds, Dictionary dataChannelIds, Dictionary streamProfiles, Dictionary streamADCPerPacket, Dictionary irigTDPIntervals, Dictionary addresses, Dictionary tmnsConfigs, Dictionary baudRates, Dictionary dataBits, Dictionary stopBits, Dictionary parities, Dictionary flowControls, Dictionary dataFormats, Dictionary tmatsIntervals ); /// /// Apply level triggers only [no other configuration actions] /// /// /// void ApplyLevelTriggers(ServiceCallback callback, object userData); /// /// Retrieve configuration from DAS and store it in the ConfigData property /// /// The function to call with information /// Whatever you want to pass along void QueryConfiguration(ServiceCallback callback, object userData, uint crc, string strConfig, bool bReadIds, bool bDeviceScaleFactors = true, bool sourceDASStorageList = false); /// /// 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) /// void UpdateConfigurationFromFile(ServiceCallback callback, object userData, string filePath); /// /// Retrieve the EID's and store it in the ConfigData property /// /// The function to call with information /// Whatever you want to pass along void UpdateIDs(ServiceCallback callback, object userData); void UpdateId(ServiceCallback callback, object userData, DASModule module, DASChannel channel); void CheckSafetyState(bool bArmed, ServiceCallback callback, object userData); /// /// Reboot a device /// FB15335: Move UART and ClockProfile sets to RunTest -> Hardware NavStep, add Reboot /// /// The function to call with information /// Whatever you want to pass along void Reboot(ServiceCallback callback, object userData); } }