44 lines
1.7 KiB
C#
44 lines
1.7 KiB
C#
namespace DTS.DASLib.Command.SLICE.RealtimeCommands
|
|
{
|
|
/// <summary>
|
|
/// this interface describes objects that are able to get realtime samples from
|
|
/// SLICE devices, the implementation differs based on whether it's using streaming
|
|
/// or is a SLICE6 device, etc, but all still operate through the same interface
|
|
/// </summary>
|
|
public interface IGetRealtimeSamples
|
|
{
|
|
/// <summary>
|
|
/// returns the sample number for the first sample, with all samples after that being consecutive
|
|
/// </summary>
|
|
ulong SampleNumber { get; }
|
|
ulong TimeStamp { get; }
|
|
|
|
ulong SequenceNumber { get; }
|
|
/// <summary>
|
|
/// returns all samples for the given channel
|
|
/// </summary>
|
|
/// <param name="zeroBasedChannel"></param>
|
|
/// <returns></returns>
|
|
short[] GetChannelData(int zeroBasedChannel);
|
|
/// <summary>
|
|
/// right now this holds the total channel count for the unit
|
|
/// </summary>
|
|
ushort Channels { get; set; }
|
|
/// <summary>
|
|
/// the count of samples per channel that were returned
|
|
/// if return value is 10 and there's 10 channels, there's 100 samples, or 10 samples per 10 channels
|
|
/// </summary>
|
|
int SamplesReturned { get; }
|
|
/// <summary>
|
|
/// whether to log the command or not
|
|
/// (not applicable on streaming mode as no command is executed)
|
|
/// default is normally false otherwise the log will be spammy
|
|
/// </summary>
|
|
bool LogCommands { get; set; }
|
|
/// <summary>
|
|
/// this is the execute that retrieves samples
|
|
/// </summary>
|
|
void SyncExecute();
|
|
}
|
|
}
|