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