namespace DTS.DASLib.Command.SLICE.RealtimeCommands
{
///
/// 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
///
public interface IGetRealtimeSamples
{
///
/// returns the sample number for the first sample, with all samples after that being consecutive
///
ulong SampleNumber { get; }
ulong TimeStamp { get; }
ulong SequenceNumber { get; }
///
/// returns all samples for the given channel
///
///
///
short[] GetChannelData(int zeroBasedChannel);
///
/// right now this holds the total channel count for the unit
///
ushort Channels { get; set; }
///
/// 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
///
int SamplesReturned { get; }
///
/// 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
///
bool LogCommands { get; set; }
///
/// this is the execute that retrieves samples
///
void SyncExecute();
}
}