From 825f53cd80f81b749bcf84f2b424faaedfee1b91 Mon Sep 17 00:00:00 2001 From: jaehun-han Date: Thu, 9 May 2019 14:29:39 +0900 Subject: [PATCH] #3 add stopwatch for sampling data --- DustSensorViewer/Form1.cs | 46 ++++++++++++++++++ .../bin/Debug/DustSensorViewer.exe | Bin 194560 -> 195072 bytes 2 files changed, 46 insertions(+) diff --git a/DustSensorViewer/Form1.cs b/DustSensorViewer/Form1.cs index 7309b33..6667793 100644 --- a/DustSensorViewer/Form1.cs +++ b/DustSensorViewer/Form1.cs @@ -159,8 +159,32 @@ private void button_con_Click(object sender, EventArgs e) "{0}\tPM 10\t{1} µg/m3\tPM 2.5\t{2} µg/m3\tPM 1.0\t{3} µg/m3\tSensor: {4}"}; + private static System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); + private void update(string sensor_name, double pm10, double pm25) { + if (checkBox_sampling.Checked) + { + if (stopwatch.IsRunning) + { + if((stopwatch.ElapsedMilliseconds / 1000) < (numericUpDown2.Value * 60)) + { + return; + } + + stopwatch.Reset(); + } + else + { + stopwatch.Start(); + } + } + else + { + stopwatch.Reset(); + stopwatch.Stop(); + } + string s_log = String.Format(LOG_LINE[0], DateTime.Now.ToString(TIME_FORMAT[0]), pm10.ToString("0.0"), pm25.ToString("0.0")); string s_text = String.Format(TEXT_LINE[0], DateTime.Now.ToString(TIME_FORMAT[1]), pm10.ToString("0.0"), pm25.ToString("0.0"), sensor_name); @@ -171,6 +195,28 @@ private void update(string sensor_name, double pm10, double pm25) private void update(string sensor_name, int pm10, int pm25, int pm1) { + if (checkBox_sampling.Checked) + { + if (stopwatch.IsRunning) + { + if ((stopwatch.ElapsedMilliseconds / 1000) < (numericUpDown2.Value * 60)) + { + return; + } + + stopwatch.Reset(); + } + else + { + stopwatch.Start(); + } + } + else + { + stopwatch.Reset(); + stopwatch.Stop(); + } + string s_log = String.Format(LOG_LINE[1], DateTime.Now.ToString(TIME_FORMAT[0]), pm10, pm25, pm1); string s_text = String.Format(TEXT_LINE[1], DateTime.Now.ToString(TIME_FORMAT[1]), pm10, pm25, pm1, sensor_name); diff --git a/DustSensorViewer/bin/Debug/DustSensorViewer.exe b/DustSensorViewer/bin/Debug/DustSensorViewer.exe index 00294152f741c9b6ff6c077dea07c0a4682154da..8e870b7a9a18f6f37e3c2cf2b30cc5eb00eed915 100644 GIT binary patch delta 16483 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 delta 15960 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 T2>n&wtI4TxPh?M(zmfh6S{p4=