public void RoundTripWithContinuousAcquisition() { var io = new IOBridge(IntPtr.Zero, ITCMM.ITC18_NUMBEROFINPUTS, ITCMM.ITC18_NUMBEROFOUTPUTS); const int nsamples = 5000; var output = new short[nsamples]; for (int i = 0; i < nsamples; i++) { output[i] = (short)(i % 1000 * 100); } short[] input = io.RunTestMain(output, nsamples); int failures = 0; const double MAX_VOLTAGE_DIFF = 0.05; for (int i = 0; i < input.Length - 3; i++) { //+ITC18_PIPELINE_SAMPLES int dif = input[i + 3] - output[i]; if (Math.Abs(dif) > MAX_VOLTAGE_DIFF * ITCMM.ANALOGVOLT) { failures++; } } Assert.That(failures, Is.LessThanOrEqualTo(4)); }
public QueuedHekaHardwareDevice(IntPtr dev, uint maxInputStreams, uint maxOutputStreams) { ItcmmReturnCodeTaskFactory = new TaskFactory <uint>(_cts.Token, TaskCreationOptions.None, TaskContinuationOptions.None, _scheduler); ItcmmReadWriteTaskFactory = new TaskFactory <IEnumerable <KeyValuePair <ChannelIdentifier, short[]> > >(_cts.Token, TaskCreationOptions.None, TaskContinuationOptions.None, _scheduler); DevicePtr = dev; Bridge = new IOBridge(DevicePtr, maxInputStreams, maxOutputStreams); StartupTime = DateTimeOffset.Now - new TimeSpan((long)Math.Floor(ITCClock * TimeSpan.TicksPerSecond)); }
public QueuedHekaHardwareDevice(IntPtr dev, uint maxInputStreams, uint maxOutputStreams) { ItcmmReturnCodeTaskFactory = new TaskFactory<uint>(_cts.Token, TaskCreationOptions.None, TaskContinuationOptions.None, _scheduler); ItcmmReadWriteTaskFactory = new TaskFactory<IEnumerable<KeyValuePair<ChannelIdentifier, short[]>>>(_cts.Token, TaskCreationOptions.None, TaskContinuationOptions.None, _scheduler); DevicePtr = dev; Bridge = new IOBridge(DevicePtr, maxInputStreams, maxOutputStreams); StartupTime = DateTimeOffset.Now - new TimeSpan((long)Math.Floor(ITCClock * TimeSpan.TicksPerSecond)); }
static void Main(string[] args) { Logging.ConfigureConsole(); var outSamples = Enumerable.Range(0, 30 * 10000).Select(i => (short)i).ToArray(); var result = new IOBridge(IntPtr.Zero, 1, 1).RunTestMain(outSamples, outSamples.Length); Console.WriteLine("Read {0} samples.", result.Length); Console.WriteLine("Press any key to eixt..."); Console.ReadKey(); }