public static void checkForData() //called on createThreadRecording as a thread { while (!endRecording) { if (RecordData.boxDataReady) { RecordData.recordData(RecordData.serialValue); //Console.WriteLine(RecordData.serialValue); RecordData.boxDataReady = false; } } }
public static void stopRecording(object source, System.Timers.ElapsedEventArgs e) //stops the recording and checks & resets various values to normal { Console.Clear(); endRecording = true; recording = false; RecordData.stopArduino(); RecordData.boxDataReady = false; if (COMManager.streamOpen) { COMManager.CloseCom(); } if (RecordData.fs != null) { RecordData.fs.Close(); } if (RecordData.file != null) { RecordData.file.Close(); } startCode(); }
public static void Main() //primary program loop { while (true) { startCode(); string res = getInput(); if (res == "1") { Console.Clear(); COMManager.OpenCom(); RecordData.startArduino(); if (RecordData.RecordingData && COMManager.streamOpen) { endRecording = false; Console.WriteLine("Starting data recording, please wait " + RecordData.recordTime + "s."); createThreadRecording(); startTimer(); } else { Console.WriteLine("Failed to start recording. Were we unable to open a serial port?"); } } else if (res == "2") { settingsMenu(); string newResult = getInput(); switch (newResult) //contains various results for different inputs { case "1": Console.WriteLine("How long would you like to record (seconds) | Default is 5 seconds:"); string period = getInput(); try { RecordData.recordTime = int.Parse(period); Console.WriteLine("Recording time set to " + period + " seconds."); } catch (Exception e) { Console.WriteLine("Failed to set recording time. Did you type an integer? Error: " + e); } //do recording break; case "2": Console.WriteLine("Please enter the new COM port (default is /dev/ttymxc3 | Current COM: " + COMManager.comPort + "):"); string newCom = getInput(); COMManager.comPort = newCom; Console.WriteLine("COM port is now set to: " + newCom); break; case "3": Console.WriteLine("Please enter the new BAUD rate (default is 115200 | Current BAUD: " + COMManager.baudRate + "):"); string newBaud = getInput(); int newFinalBaud; try { newFinalBaud = int.Parse(newBaud); COMManager.baudRate = newFinalBaud; Console.WriteLine("BAUD rate is now set to: " + newFinalBaud); } catch (Exception e) { Console.WriteLine("Failed to set BAUD. Did you type an integer? Error: " + e); } break; default: Console.Clear(); break; } } else if (res == "3") { Console.Clear(); //return; } else if (res == "4") { Console.Clear(); endRecording = true; recording = false; RecordData.stopArduino(); RecordData.boxDataReady = false; if (COMManager.streamOpen) { COMManager.CloseCom(); } } else { Console.Clear(); Console.WriteLine("Exiting..."); if (!endRecording) { endRecording = true; } if (recording) { recording = false; } if (COMManager.streamOpen) { COMManager.CloseCom(); } break; } } }