diff --git a/ISCamRecorder/SensorData.cs b/ISCamRecorder/SensorData.cs index b0d23c7..aae9cfa 100644 --- a/ISCamRecorder/SensorData.cs +++ b/ISCamRecorder/SensorData.cs @@ -24,6 +24,7 @@ Queue Times = new Queue(); // サンプル時間 int _QueueLength; // グラフ表示するサンプル数 StreamWriter _CsvWriter = null; // ファイル保存オブジェクト + StreamReader _CsvReader = null; // データファイル読込オブジェクト FrameRateCounter _Fps = new FrameRateCounter(10); // FPS計測 int _LastButtonState = 0; // ボタンの前の状態 MainForm _MF = null; // メインフォームインスタンス @@ -104,6 +105,14 @@ $"{dt.ToString("yyyy/MM/dd,HH:mm:ss.fff")},{elapsed:0.00}" + $",{values[0]},{values[1]},{values[2]},{values[3]},{buttonState}"); } + if (_CsvReader != null) { + if (_CsvReader.EndOfStream) { + _CsvReader.BaseStream.Seek(0, SeekOrigin.Begin); + _CsvReader.ReadLine(); + } + var items = _CsvReader.ReadLine().Split(','); + for (var i = 0; i < 4; i++) values[i] = int.Parse(items[i + 3]); + } } // データ追加 @@ -150,6 +159,8 @@ /// public void StartRecoding(string csvFile) { if (File.Exists(csvFile)) { + _CsvReader = new StreamReader(csvFile); + if (_CsvReader != null) _CsvReader.ReadLine(); } else { var sensorFile = Path.Combine(_MF.OutputDir, $"Sensor_{_MF.RecodingTimeStr}.csv"); _CsvWriter = new StreamWriter(sensorFile); @@ -170,6 +181,10 @@ _CsvWriter.Close(); _CsvWriter = null; } + if (_CsvReader != null) { + _CsvReader.Close(); + _CsvReader = null; + } } /// diff --git a/ISCamRecorder/media/SubjectListForDebug.txt b/ISCamRecorder/media/SubjectListForDebug.txt index 4019b49..c4f2bfc 100644 --- a/ISCamRecorder/media/SubjectListForDebug.txt +++ b/ISCamRecorder/media/SubjectListForDebug.txt @@ -1,3 +1,2 @@ テスト1 -テスト2 -テスト3 \ No newline at end of file +Sensor_20220929_123611.csv \ No newline at end of file