private void PassQueue(FixedSizedQueue <SerialInputRecord> queue, Action <SerialInputRecord, int> callback) { int l = queue.Size; for (int i = 0; i < l; i++) { SerialInputRecord a; queue.TryDequeue(out a); queue.Enqueue(a); callback(a, i); } }
private void timer1_Tick(object sender, EventArgs e) { string line = serialPort1.ReadExisting(); if (line.Length != 0) { SerialInputRecord record = parseSerialInputValues(line); dataQueue.Enqueue(record); chartValues.Enqueue(record); ProceedData(dataQueue); RedrawChart(chartValues); } }