void stopRecording() { if (recording) { recording = false; if (!trial) { name = "pattern_" + (patternIndex + 1); patternIndex++; Pattern newPattern = new Pattern(name); newPattern.trials.Add(new List <AccelDataPoint>()); foreach (var ADP in record) { newPattern.trials[0].Add(new AccelDataPoint(ADP)); } newPattern.CalculateData(); updateAllTimes(newPattern.trials[0], newPattern.trials[0].Last().t_abs); updateAllTimes(newPattern.data, newPattern.data.Last().t_abs); patterns.Add(newPattern); writeToFile(newPattern.trials.Last(), "pattern" + patternIndex + "_0.csv"); writeToFile(newPattern.data, "pattern" + patternIndex + "_0d.csv"); } else { patterns[patternIndex - 1].trials.Add(new List <AccelDataPoint>()); for (int i = 0; i < record.Count; i++) { patterns[patternIndex - 1].trials.Last().Add(new AccelDataPoint(record.ElementAt(i))); } patterns[patternIndex - 1].CalculateData(); updateAllTimes(patterns[patternIndex - 1].data, patterns[patternIndex - 1].data.Last().t_abs); writeToFile(patterns[patternIndex - 1].trials.Last(), "pattern" + patternIndex + "_" + (patterns[patternIndex - 1].trials.Count - 1) + ".csv"); writeToFile(patterns[patternIndex - 1].data, "pattern" + patternIndex + "_" + (patterns[patternIndex - 1].trials.Count - 1) + "d.csv"); } } }