private void ProcessStream1D(NodeSystemLib2.FormatData1D.InputPortData1D port) { var _buffer = port.Read(); WriterObject writer = null; Stream1DWriter stream = null; if (_recording) { writer = _writers[port]; stream = (Stream1DWriter)writer.Writer; } foreach (var sample in _buffer.ZipWithValueInput(_portEn)) { if (sample.Scalar >= 0.5 && !_recording) { _firstWrittenSampleTime = sample.Stamp; StartRecording(); writer = _writers[port]; stream = (Stream1DWriter)writer.Writer; } else if (sample.Scalar < 0.5 && _recording) { EndRecording(); } if (_recording) { stream.WriteSample(sample.Sample); writer.SetNewStamp(sample.Stamp); } } }
private void InitWriters() { foreach (var input in InputPorts.OfType <NodeSystemLib2.FormatData1D.InputPortData1D>().Where(c => c.Connection != null)) { var path = GetFilename(input, "bin"); var writer = new Stream1DWriter( new System.IO.BinaryWriter( File.Open(path, FileMode.Create) ) ); _writers.Add(input, new WriterObject { Path = path, Writer = writer }); } foreach (var input in InputPorts.OfType <NodeSystemLib2.FormatValue.InputPortValueDouble>().Except(new[] { _portEn }).Where(c => c.Connection != null)) { var path = GetFilename(input, "csv"); var writer = new Stream2DWriter( File.CreateText(path), ',' ); _writers.Add(input, new WriterObject { Path = path, Writer = writer }); } }
protected override void OnRecordingStarted() { lock (_writerLock) { _path = CreateOutputFilename("signal", "bin"); var handle = System.IO.File.Open(_path, System.IO.FileMode.Create, System.IO.FileAccess.Write); _binaryStream = new System.IO.BinaryWriter(handle); _writer = new Stream1DWriter(_binaryStream); } }