using System.Collections.Generic; using System.Threading; using DTS.Common.Enums; namespace DTS.DASLib.Service { internal interface IRealTimeActions { /// /// tell DAS to start sending data at specific rate /// /// How many samples per second to receive /// the amount of time to sleep between samples /// 0 is ok /// The function to call with information /// Whatever you want to pass along /// /// channels to operate realtime on, added for /// 10572 implement SW side for single command streaming realtime /// void RealTime(int samplesPerSec, int msBetweenSamples, ServiceCallback callback, object userData, bool allowMultipleSampleRealtime, int moduleIndex, ManualResetEvent stopEvent, byte[] channels, double aaf, int minCallbackUpdateTimeMs = 100, bool UseUDPStreaming = false, string HostIPAddress = ""); /// /// conduct realtime by actively polling them for sample averages /// /// /// /// /// /// channels to operate realtime on, added for /// 10572 implement SW side for single command streaming realtime /// void RealTimePolling(ServiceCallback callback, object userData, ManualResetEvent stopEvent, byte[] channels); /// /// Stop sending real time data /// /// The function to call with information /// Whatever you want to pass along void ExitRealTimeMode(ServiceCallback callback, object userData); void RealTimeTiltPolling(ServiceCallback callback, object userData, ManualResetEvent stopEvent); /// /// FB15313 Configure S6A udp streaming /// /// The function to call with information /// Whatever you want to pass along /// The profile to set /// UDP streaming address /// The time channel id to set /// The data channel id to set /// TMNS format information void SetUDPStreamProfile(ServiceCallback callback, object userData, UDPStreamProfile streamProfile, string udpAddress, ushort timeChannelId, ushort dataChannelId, uint[] tmnsConfig, ushort irigTimeDataPacketIntervalMs); void GetUDPStreamProfile(ServiceCallback callback, object userData); } }