private void OnLineReceived(object sender, LineReceivedEventArgs e) { string line = e.Line; Debug.WriteLine(line); lock (m_ValuesBuffer.SyncObject) { string[] stringParts = line.Split('\t'); DateTime timeStamp = DateTime.Now; int valuesCount = stringParts.Length; double[] receivedValues = new double[valuesCount]; for (int i = 0; i < valuesCount; i++) { double receivedValue = double.Parse(stringParts[i], CultureInfo.InvariantCulture); receivedValues[i] = receivedValue * 180.0 / Math.PI; } //receivedValues[1] += 1; //if (m_ValuesBuffer.Count > 1) //{ // // In order to accomplish sample and hold behavior we insert the old values with the new time stamp first // TimeStampedValue<double[]> previousTimeStampedValue = m_ValuesBuffer[m_ValuesBuffer.Count - 1]; // TimeStampedValue<double[]> sampleAndHoldTimeStampedValue = // new TimeStampedValue<double[]>(timeStamp, previousTimeStampedValue.Value); // m_ValuesBuffer.Add(sampleAndHoldTimeStampedValue); //} TimeStampedValue <double[]> timeStampedValue = new TimeStampedValue <double[]>(timeStamp, receivedValues); m_ValuesBuffer.Add(timeStampedValue); } }
private void RaiseLineReceivedEvent(string line) { // Make a temporary copy of the event handler to avoid the possibility of // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. EventHandler <LineReceivedEventArgs> handler = LineReceived; // Event will be null if there are no subscribers if (handler != null) { LineReceivedEventArgs eventArgs = new LineReceivedEventArgs(line); handler(this, eventArgs); } }
private void OnLineReceived(object sender, LineReceivedEventArgs e) { string line = e.Line; Debug.WriteLine(line); lock (m_ValuesBuffer.SyncObject) { string[] stringParts = line.Split('\t'); DateTime timeStamp = DateTime.Now; int valuesCount = stringParts.Length; double[] receivedValues = new double[valuesCount]; for (int i = 0; i < valuesCount; i++) { double receivedValue = double.Parse(stringParts[i], CultureInfo.InvariantCulture); receivedValues[i] = receivedValue * 180.0 / Math.PI; } //receivedValues[1] += 1; //if (m_ValuesBuffer.Count > 1) //{ // // In order to accomplish sample and hold behavior we insert the old values with the new time stamp first // TimeStampedValue<double[]> previousTimeStampedValue = m_ValuesBuffer[m_ValuesBuffer.Count - 1]; // TimeStampedValue<double[]> sampleAndHoldTimeStampedValue = // new TimeStampedValue<double[]>(timeStamp, previousTimeStampedValue.Value); // m_ValuesBuffer.Add(sampleAndHoldTimeStampedValue); //} TimeStampedValue<double[]> timeStampedValue = new TimeStampedValue<double[]>(timeStamp, receivedValues); m_ValuesBuffer.Add(timeStampedValue); } }
private void RaiseLineReceivedEvent(string line) { // Make a temporary copy of the event handler to avoid the possibility of // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. EventHandler<LineReceivedEventArgs> handler = LineReceived; // Event will be null if there are no subscribers if (handler != null) { LineReceivedEventArgs eventArgs = new LineReceivedEventArgs(line); handler(this, eventArgs); } }