private void AcquireData() { DateTime now = DateTime.Now; time = (double)((now.Hour * 60 + now.Minute) * 60 + now.Second) + now.Millisecond / 1000.0d; Signal signal = usart.Pop(); if (signal.dataEastWest >= acquireEWDown && signal.dataEastWest <= acquireEWUp) { signal.dataEastWest = (acquireEWDown + acquireEWUp) / 2; } if (signal.dataNorthSouth >= acquireNSDown && signal.dataNorthSouth <= acquireNSUp) { signal.dataNorthSouth = (acquireNSDown + acquireNSUp) / 2; } if (signal.dataEastWest != 0 || signal.dataNorthSouth != 0) { Acquire_DataEastWest.Add(new DataPoint(time, signal.dataEastWest)); Acquire_DataNorthSouth.Add(new DataPoint(time, signal.dataNorthSouth)); var item = new { listViewDataTime = GetTimeString(now), listViewDataEastWest = signal.dataEastWest.ToString("F3"), listViewDataNorthSouth = signal.dataNorthSouth.ToString("F3") }; dataCount++; listViewData.Items.Add(item); listViewData.ScrollIntoView(item); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (usart.IsOpen()) { usart.Close(); } connected = false; acquisition = false; clockTimer.Stop(); listViewData.Items.Clear(); Acquire_DataEastWest.Clear(); Acquire_DataNorthSouth.Clear(); }
private void AutoSaveData() { DateTime nowTime = DateTime.Now; if (nowTime.Second == 0 && nowTime.Minute % 10 == 0) { string filename = ""; string buffer = "", tmp = ""; filename += (nowTime.Hour / 10).ToString(); filename += (nowTime.Hour % 10).ToString(); filename += (nowTime.Minute / 10).ToString(); filename += (nowTime.Minute % 10).ToString(); for (int i = 0; i < listViewData.Items.Count; i++) { tmp = listViewData.Items[i].ToString(); tmp = tmp.Replace("{ listViewDataTime = ", ""); tmp = tmp.Replace(", listViewDataEastWest = ", " "); tmp = tmp.Replace(", listViewDataNorthSouth = ", " "); tmp = tmp.Replace(" }", ""); buffer += tmp + Environment.NewLine; } buffer = ZipUtil.Compress(buffer); if (!Directory.Exists("data")) { try { Directory.CreateDirectory("data"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } if (nowTime.Hour == 0 && nowTime.Minute == 0) { nowTime = nowTime.AddDays(-1); filename = "2400"; } if (!Directory.Exists("data\\" + nowTime.ToString("yyyy.MM.dd"))) { try { Directory.CreateDirectory("data\\" + nowTime.ToString("yyyy.MM.dd")); } catch (Exception ex) { MessageBox.Show(ex.Message); } } try { FileStream fileStream = new FileStream("data\\" + nowTime.ToString("yyyy.MM.dd") + "\\" + filename + ".sdf", FileMode.Create); byte[] data = Encoding.Default.GetBytes(buffer); fileStream.Write(data, 0, data.Length); fileStream.Flush(); fileStream.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } // TODO: Compress day file listViewData.Items.Clear(); Acquire_DataNorthSouth.Clear(); Acquire_DataEastWest.Clear(); TimeSpanAxis_Acquire_EW.Minimum = (nowTime.Hour * 60 + nowTime.Minute) * 60 + nowTime.Second; TimeSpanAxis_Acquire_EW.Maximum = (nowTime.Hour * 60 + nowTime.Minute) * 60 + nowTime.Second + 600; TimeSpanAxis_Acquire_NS.Minimum = (nowTime.Hour * 60 + nowTime.Minute) * 60 + nowTime.Second; TimeSpanAxis_Acquire_NS.Maximum = (nowTime.Hour * 60 + nowTime.Minute) * 60 + nowTime.Second + 600; } }