public void WriteTest() { // Write sample data to CSV file using (CSVFileWriter writer = new CSVFileWriter("WriteTest.csv")) { for (int i = 0; i < 100; i++) { CsvRow row = new CsvRow(); for (int j = 0; j < 5; j++) { row.Add(String.Format("Column{0}", j)); } writer.WriteRow(row); } } }
//---Methode zum Zeichnen des neuen Samples--- void Draw_Graph(int[] lead) { // temp[0] = lead 2 // temp[1] = lead 3 // temp[2] = V1 // temp[3] = V2 // temp[4] = V3 // temp[5] = V4 // temp[6] = V5 // temp[7] = V6 // temp[8] = lead 1 // temp[9] = aVR // temp[10] = aVL // temp[11] = aVR double[] temp = new Double[12]; int abstand = 100; MethodInvoker gettrackbar2 = delegate { abstand = trackBar2.Value; }; Invoke(gettrackbar2); //Lead2 LineItem curve = GraphWindow.GraphPane.CurveList[1] as LineItem; IPointListEdit list = curve.Points as IPointListEdit; circular_buffer0[zeiger[0]] = lead[0]; zeiger[0] = (zeiger[0] + 1) % 12; for (i = 0; i < 12; i++) { temp[0] += (b[i] * circular_buffer0[(zeiger[0] + i) % 12]); } if (Lead2Enabled.Checked == true) { list.Add(zeit, (temp[0] - abstand)); } else { list.Clear(); } //Lead3 curve = GraphWindow.GraphPane.CurveList[2] as LineItem; list = curve.Points as IPointListEdit; circular_buffer1[zeiger[1]] = lead[1]; zeiger[1] = (zeiger[1] + 1) % 12; for (i = 0; i < 12; i++) { temp[1] += (b[i] * circular_buffer1[(zeiger[1] + i) % 12]); } if (Lead3Enabled.Checked == true) { list.Add(zeit, (temp[1] - (2 * abstand))); } else { list.Clear(); } //Lead1 curve = GraphWindow.GraphPane.CurveList[0] as LineItem; list = curve.Points as IPointListEdit; temp[8] = (temp[0] - temp[1]); if (Lead1Enabled.Checked == true) { list.Add(zeit, temp[8]); } else { list.Clear(); } //V1 curve = GraphWindow.GraphPane.CurveList[6] as LineItem; list = curve.Points as IPointListEdit; if (V1Enabled.Checked == true) { circular_buffer2[zeiger[2]] = lead[2]; zeiger[2] = (zeiger[2] + 1) % 12; for (i = 0; i < 12; i++) { temp[2] += (b[i] * circular_buffer2[(zeiger[2] + i) % 12]); } list.Add(zeit, (temp[2] - (6 * abstand))); } else { list.Clear(); } //V2 curve = GraphWindow.GraphPane.CurveList[7] as LineItem; list = curve.Points as IPointListEdit; if (V2Enabled.Checked == true) { circular_buffer3[zeiger[3]] = lead[3]; zeiger[3] = (zeiger[3] + 1) % 12; for (i = 0; i < 12; i++) { temp[3] += (b[i] * circular_buffer3[(zeiger[3] + i) % 12]); } list.Add(zeit, (temp[3] - (7 * abstand))); } else { list.Clear(); } //Beat detection if (temp[3] <= (-2000)) { MethodInvoker beater = delegate { label28.Visible = true; ekg1.LED_On(); }; Invoke(beater); if (!beat) { Thread piep_thread = new Thread(delegate() { piep(2000, 100); }); piep_thread.IsBackground = true; piep_thread.Start(); beat = true; } } else { MethodInvoker nobeat = delegate { label28.Visible = false; ekg1.LED_Off(); }; Invoke(nobeat); beat = false; } //V3 curve = GraphWindow.GraphPane.CurveList[8] as LineItem; list = curve.Points as IPointListEdit; if (V3Enabled.Checked == true) { circular_buffer4[zeiger[4]] = lead[4]; zeiger[4] = (zeiger[4] + 1) % 12; for (i = 0; i < 12; i++) { temp[4] += (b[i] * circular_buffer4[(zeiger[4] + i) % 12]); } list.Add(zeit, (temp[4] - (8 * abstand))); } else { list.Clear(); } //V4 curve = GraphWindow.GraphPane.CurveList[9] as LineItem; list = curve.Points as IPointListEdit; if (V4Enabled.Checked == true) { circular_buffer5[zeiger[5]] = lead[5]; zeiger[5] = (zeiger[5] + 1) % 12; for (i = 0; i < 12; i++) { temp[5] += (b[i] * circular_buffer5[(zeiger[5] + i) % 12]); } list.Add(zeit, (temp[5] - (9 * abstand))); } else { list.Clear(); } //V5 curve = GraphWindow.GraphPane.CurveList[10] as LineItem; list = curve.Points as IPointListEdit; if (V5Enabled.Checked == true) { circular_buffer6[zeiger[6]] = lead[6]; zeiger[6] = (zeiger[6] + 1) % 12; for (i = 0; i < 12; i++) { temp[6] += (b[i] * circular_buffer6[(zeiger[6] + i) % 12]); } list.Add(zeit, (temp[6] - (10 * abstand))); } else { list.Clear(); } //V6 curve = GraphWindow.GraphPane.CurveList[11] as LineItem; list = curve.Points as IPointListEdit; if (V6Enabled.Checked == true) { circular_buffer7[zeiger[7]] = lead[7]; zeiger[7] = (zeiger[7] + 1) % 12; for (i = 0; i < 12; i++) { temp[7] += (b[i] * circular_buffer7[(zeiger[7] + i) % 12]); } list.Add(zeit, (temp[7] - (11 * abstand))); } else { list.Clear(); } //aVR curve = GraphWindow.GraphPane.CurveList[3] as LineItem; list = curve.Points as IPointListEdit; temp[9] = (-(temp[0] + temp[1])) / 2; if (aVREnabled.Checked == true) { list.Add(zeit, (temp[9] - (3 * abstand))); } else { list.Clear(); } //aVL curve = GraphWindow.GraphPane.CurveList[4] as LineItem; list = curve.Points as IPointListEdit; temp[10] = ((temp[0] - temp[1]) / 2); if (aVLEnabled.Checked == true) { list.Add(zeit, (temp[10] - (4 * abstand))); } else { list.Clear(); } //aVF curve = GraphWindow.GraphPane.CurveList[5] as LineItem; list = curve.Points as IPointListEdit; temp[11] = ((temp[1] + temp[2]) / 2); if (aVFEnabled.Checked == true) { list.Add(zeit, (temp[11] - (5 * abstand))); } else { list.Clear(); } //Wenn Autoscroll aktiv ist if (checkBox6.Checked == true) { GraphAutoSize(); } else { GraphWindow.AxisChange(); GraphWindow.Invalidate(); } if (recording) { //get the Data for one row CsvRow row = new CsvRow(); row.Add(String.Format("{0}", SampleCount)); //# row.Add(String.Format(temp[8].ToString())); //Lead 1 row.Add(String.Format(temp[0].ToString())); //Lead 2 row.Add(String.Format(temp[1].ToString())); //Lead 3 row.Add(String.Format(temp[9].ToString())); //aVR row.Add(String.Format(temp[10].ToString())); //aVL row.Add(String.Format(temp[11].ToString())); //aVF row.Add(String.Format(temp[2].ToString())); //V1 row.Add(String.Format(temp[3].ToString())); //V2 row.Add(String.Format(temp[4].ToString())); //V3 row.Add(String.Format(temp[5].ToString())); //V4 row.Add(String.Format(temp[6].ToString())); //V5 row.Add(String.Format(temp[7].ToString())); //V6 //write the row in the buffer writer.WriteRow(row); writer.Flush(); SampleCount++; /* * //Safe to file * if (SampleCount < 10) * { * for (i = 0; i < 12; i++) * { * SampleSaveBuffer[SampleCount, i] = temp[i]; * * } * SampleCount++; * } * else * { * * for (int i = 0; i < 10; i++) * { * //get the Data for one row * CsvRow row = new CsvRow(); * row.Add(String.Format("{0}", i)); //# * row.Add(String.Format(SampleSaveBuffer[i, 8].ToString())); //Lead 1 * row.Add(String.Format(SampleSaveBuffer[i, 0].ToString())); //Lead 2 * row.Add(String.Format(SampleSaveBuffer[i, 1].ToString())); //Lead 3 * row.Add(String.Format(SampleSaveBuffer[i, 9].ToString())); //aVR * row.Add(String.Format(SampleSaveBuffer[i, 10].ToString()));//aVL * row.Add(String.Format(SampleSaveBuffer[i, 11].ToString()));//aVF * row.Add(String.Format(SampleSaveBuffer[i, 2].ToString())); //V1 * row.Add(String.Format(SampleSaveBuffer[i, 3].ToString())); //V2 * row.Add(String.Format(SampleSaveBuffer[i, 4].ToString())); //V3 * row.Add(String.Format(SampleSaveBuffer[i, 5].ToString())); //V4 * row.Add(String.Format(SampleSaveBuffer[i, 6].ToString())); //V5 * row.Add(String.Format(SampleSaveBuffer[i, 7].ToString())); //V6 * * //write the row in the buffer * writer.WriteRow(row); * } * * SampleCount = 0; * }*/ } }