public void Reset() { IterationCount = 0; State = GestureState.None; Timestamp = 0; StartPosition = RPosition.None; CurrentPosition = RPosition.None; }
public void StopRecording() { EIT?.CompleteAdding(); ECG?.CompleteAdding(); SystemEvents?.StopRecording(); RPosition?.StopRecording(); Tags?.StopRecording(); RecordingInProgress = false; }
public Task StartLogging(AcquisitionProtocolParameters acquisitionProtocol) { EIT = new EIT(RecordNumber++, EITDefaultChunkSize, acquisitionProtocol.AsJson(), fileId, groupEIT, Logger); //var acquisitionInformation = new AcquisitionInformation(acquisitionProtocol, fileId, groupEIT, Logger); //acquisitionInformation.FlushDataAndCloseObject(); ECG = new ECG(fileId, groupRoot, ECGDefaultChunkSize, (int)acquisitionProtocol.ScanDescription.EcgParams.SampleRate, Logger); SystemEvents.StartLogging(); RPosition.StartLogging(); Tags.StartLogging(); return(Task.CompletedTask); }
private async Task CloseHandles() { ProcedureInformation.FlushDataAndCloseObject(); SystemInformation.FlushDataAndCloseObject(); CalibrationGroup.FlushDataAndCloseObject(); //wait for writing all data before resetting if (EIT != null) { await EIT.WaitForDataWritten(); EIT.Dispose(); } if (ECG != null) { await ECG.WaitForDataWritten(); ECG.Dispose(); } if (SystemEvents != null) { await SystemEvents.WaitForDataWritten(); SystemEvents.Dispose(); } if (RPosition != null) { await RPosition.WaitForDataWritten(); RPosition.Dispose(); } if (Tags != null) { await Tags.WaitForDataWritten(); Tags.Dispose(); } if (UserEventsGroup != null) { await UserEventsGroup.WaitForDataWritten(); UserEventsGroup.Dispose(); } await Task.CompletedTask; }
public void UpdatePosition(RPosition position, long timestamp) { if (CurrentPosition != position) { if (position == RPosition.Start) { if (State != GestureState.InProgress) { State = GestureState.InProgress; IterationCount = 0; StartPosition = position; } } IterationCount++; CurrentPosition = position; Timestamp = timestamp; } }
public void AppendRPosition(RPositionsMessagePack rPositions) => RPosition.Enqueue(rPositions);