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);
}
}