Files
DP44/DataPRO/IService/Interfaces/IRealTimeActions.cs

82 lines
3.3 KiB
C#
Raw Normal View History

2026-04-17 14:55:32 -04:00
using System.Collections.Generic;
using System.Threading;
using DTS.Common.Enums;
namespace DTS.DASLib.Service
{
internal interface IRealTimeActions
{
/// <summary>
/// tell DAS to start sending data at specific rate
/// </summary>
/// <param name="samplesPerSec">How many samples per second to receive</param>
/// <param name="msBetweenSamples">the amount of time to sleep between samples
/// 0 is ok</param>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
/// <param name="channels">
/// channels to operate realtime on, added for
/// 10572 implement SW side for single command streaming realtime
/// </param>
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 = "");
/// <summary>
/// conduct realtime by actively polling them for sample averages
/// </summary>
/// <param name="callback"></param>
/// <param name="userData"></param>
/// <param name="stopEvent"></param>
/// <param name="channels">
/// channels to operate realtime on, added for
/// 10572 implement SW side for single command streaming realtime
/// </param>
void RealTimePolling(ServiceCallback callback,
object userData,
ManualResetEvent stopEvent,
byte[] channels);
/// <summary>
/// Stop sending real time data
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void ExitRealTimeMode(ServiceCallback callback, object userData);
void RealTimeTiltPolling(ServiceCallback callback,
object userData,
ManualResetEvent stopEvent);
/// <summary>
/// FB15313 Configure S6A udp streaming
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
/// <param name="streamProfile">The profile to set</param>
/// <param name="udpAddress">UDP streaming address</param>
/// <param name="timeChannelId">The time channel id to set</param>
/// <param name="dataChannelId">The data channel id to set</param>
/// <param name="tmnsConfig">TMNS format information</param>
void SetUDPStreamProfile(ServiceCallback callback,
object userData,
UDPStreamProfile streamProfile,
string udpAddress,
ushort timeChannelId,
ushort dataChannelId,
uint[] tmnsConfig,
ushort irigTimeDataPacketIntervalMs);
void GetUDPStreamProfile(ServiceCallback callback, object userData);
}
}