void Update() { if (bufferClient.errorReturned != BufferClient.BUFFER_READ_ERROR && bufferIsConnected) { SamplesEventsCount count = bufferClient.wait(latestCapturedSample + 1, lastNumberOfEvents + 1, timeout); latestNumebrOfEventsInBuffer = count.nEvents; latestBufferSample = count.nSamples; while (lastNumberOfEvents < latestNumebrOfEventsInBuffer) { bufferEvents.Add(bufferClient.getEvents(lastNumberOfEvents, lastNumberOfEvents)[0]); lastNumberOfEvents += 1; if (bufferEvents.Count > bufferEventsMaxCapacity) { bufferEvents.RemoveAt(0); } OnNewEventsAdded(EventArgs.Empty); //This notifies anyone who's listening that there had been an extra event added in the buffer } if (latestBufferSample > latestCapturedSample) { nSamples = latestBufferSample - latestCapturedSample; data = bufferClient.getFloatData(latestCapturedSample, latestBufferSample - 1); //TO DO: The getFloat needs to change according to the buffers type of data latestCapturedSample = latestBufferSample; OnNewDataCaptured(EventArgs.Empty); //That notifies anyone who's listening that data have been updated in the buffer if (newDataIn) { dataPacketsLost += 1; } else { newDataIn = true; } } } }