From 5b52fb3e5aa780b2fa88045fbcf6da2a6a9ea8f4 Mon Sep 17 00:00:00 2001 From: Markus Rosenstihl Date: Wed, 23 Nov 2016 14:46:31 +0000 Subject: [PATCH] Spectrometers with new computers show increasingly timeouts. This can be because the timer in the backen is not synchronized with the pulseblaster. When the timer starts running >0.5s before the pulse program is started, a timeout could occur. The current value of additional 0.5s is changed to 2s. This timer has nothing to do with the trigger line. - fixes T21 --- drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.cpp b/drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.cpp index 5cf8b88..fdb8cd1 100644 --- a/drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.cpp +++ b/drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.cpp @@ -821,9 +821,9 @@ result* SpectrumMI40xxSeries::get_samples(double _timeout) { starts running before the actual start of the pulse program because the OS is not loading and starting the pulseblaster immediatly. It is not possible to synchronize the timers for now. - Thus, we add a generous 1s to the timeout to be on the safe side. One second ought to be enoug for everybody! + Thus, we add a generous 2s to the timeout to be on the safe side. */ - while (core::term_signal==0 && adc_status!=SPC_READY && elapsed_time<=(effective_settings->timeout + post_gate_maxtime + 0.5) ) { + while (core::term_signal==0 && adc_status!=SPC_READY && elapsed_time<=(effective_settings->timeout + post_gate_maxtime + 2) ) { timespec sleeptime; sleeptime.tv_nsec=10*1000*1000; // 10 ms sleeptime.tv_sec=0;