Important BUGfix: effectively there was no sleep period in the thread handling the data from the UlDAQ
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Anne de Jong 2023-03-10 16:27:51 +01:00
parent 617eded04e
commit ec2a933e20
3 changed files with 9 additions and 3 deletions

View File

@ -420,12 +420,18 @@ void StreamMgr::addInDataHandler(InDataHandler &handler) {
"is called more than once on a handler object");
}
_inDataHandlers.push_back(&handler);
DEBUGTRACE_PRINT(_inDataHandlers.size());
}
void StreamMgr::removeInDataHandler(InDataHandler &handler) {
DEBUGTRACE_ENTER;
checkRightThread();
std::scoped_lock<std::mutex> lck(_inDataHandler_mtx);
_inDataHandlers.remove(&handler);
DEBUGTRACE_PRINT(_inDataHandlers.size());
}
Daq::StreamStatus StreamMgr::getStreamStatus(const StreamType type) const {

View File

@ -252,6 +252,7 @@ InBufHandler::InBufHandler(DT9837A &daq, InDaqCallback cb)
}
void InBufHandler::start() {
DEBUGTRACE_ENTER;
ScanStatus status;
TransferStatus transferStatus;
UlError err = ulDaqInScanStatus(daq.getHandle(), &status, &transferStatus);
@ -455,9 +456,9 @@ void DT9837A::threadFcn(InDaqCallback inCallback, OutDaqCallback outCallback) {
_stopThread = true;
break;
}
} else {
std::this_thread::sleep_for(std::chrono::microseconds(sleeptime_us));
}
std::this_thread::sleep_for(std::chrono::microseconds(sleeptime_us));
}
/// Update stream status that we are not running anymore

View File

@ -22,7 +22,6 @@ bool PPMHandler::inCallback_threaded(const DaqData &d) {
dmat data = d.toFloat();
const us nchannels = d.nchannels;
assert(data.n_cols == nchannels);