private void stopCollectingDataButton_Click(object sender, EventArgs e) { startCollectingDataButton.Enabled = true; stopCollectingDataButton.Enabled = false; selectedRaceComboBox.Enabled = true; this.eventComboBox.Enabled = true; #if V15 networkFeed.Quit(); server.End(); #else networkListener.End(); passDetector.Exit(); #endif if(binaryLogger != null) binaryLogger.Dispose(); binaryLogger = null; }
private void CreateBinLogger() { String binLogFileName = (currentRace != null) ? GetCleanedRaceName(currentRace.name) + "_out.bin" : "_out.bin"; string appPath = Path.GetDirectoryName(Config.Instance.DataDirectory); Directory.SetCurrentDirectory(appPath); if (!Directory.Exists("runs")) Directory.CreateDirectory("runs"); Directory.SetCurrentDirectory(appPath + "\\runs"); if (this.InvokeRequired) { this.Invoke((MethodInvoker)delegate { if (eventComboBox.SelectedIndex != -1) binLogFileName = DataManager.Instance.Events[eventComboBox.SelectedIndex].name + "_" + binLogFileName; }); } else { if (eventComboBox.SelectedIndex != -1) binLogFileName = DataManager.Instance.Events[eventComboBox.SelectedIndex].name + "_" + binLogFileName; } //if file exists, append some counter to it int fileNameCounter = 1; if (File.Exists(binLogFileName)) { String currentFileName = binLogFileName; while (File.Exists(currentFileName)) { int strIndex = currentFileName.IndexOf(".bin"); if (strIndex > 0) { currentFileName = currentFileName.Remove(strIndex - 1, 1); currentFileName = currentFileName.Insert(strIndex - 1, "" + fileNameCounter); } fileNameCounter++; if (fileNameCounter > 10) break; } binLogFileName = currentFileName; } binaryLogger = new LoggerBinary(binLogFileName); #if V15 binaryLogger.AddPublisher(server.IndividualReadingPublisher); #else binaryLogger.AddPublisher(networkListener); #endif }