diff --git a/src/asynStreamGeneratorDriver.cpp b/src/asynStreamGeneratorDriver.cpp index dc2b3d6..c20b7ab 100644 --- a/src/asynStreamGeneratorDriver.cpp +++ b/src/asynStreamGeneratorDriver.cpp @@ -347,7 +347,6 @@ asynStatus asynStreamGeneratorDriver::writeInt32(asynUser *pasynUser, void asynStreamGeneratorDriver::receiveUDP() { // TODO fix time overflows - // TODO check for lost packets const char *functionName = "receiveUDP"; asynStatus status = asynSuccess; @@ -630,12 +629,14 @@ void asynStreamGeneratorDriver::processEvents() { countDiffsPtr = (countDiffsPtr + 1) % 10; - lock(); - for (size_t i = 0; i < num_channels; ++i) { - setIntegerParam(P_Rates[i], rates[i]); + if (countDiffsPtr % 5 == 0) { + lock(); + for (size_t i = 0; i < num_channels; ++i) { + setIntegerParam(P_Rates[i], rates[i]); + } + callParamCallbacks(); + unlock(); } - callParamCallbacks(); - unlock(); } } }