示例#1
2
        public void Listener()
        {
            string str = "";
            System.IO.Ports.SerialPort spListner = new System.IO.Ports.SerialPort();
            spListner.PortName = "COM5";
            spListner.BaudRate = 9600;
            spListner.Open();

            while (spListner.BytesToRead > 0)
            {
                str = spListner.ReadLine();
                textBox1.AppendText(str);
            }
        }
示例#2
0
        /// <summary>
        /// todo: read data and handle properly
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string temp = port.ReadLine();

            outputs.Enqueue(temp);
            if (temp.Contains("Illegal input data."))
            {
                return;
            }
            if (temp.Contains("X[mm]     Y[mm]     Z[mm]     O[deg]    A[deg]    T[deg]\r"))
            {
                char[] delimiters = { '\t', ' ' };
                var    header     = temp.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
                string values     = port.ReadLine();
                outputs.Enqueue(values);
                port.WriteLine("");
                var positionValues = values.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
                this.currentPosition.x = Convert.ToDouble(positionValues[0]);
                this.currentPosition.y = Convert.ToDouble(positionValues[1]);
                this.currentPosition.z = Convert.ToDouble(positionValues[2]);
                string useless = port.ReadLine();
                port.Write("\r\n");
            }
            else if (temp.Contains("Program completed.No = 1"))
            {
                running = false;
                return;
            }
        }
示例#3
0
        private bool testConnection()
        {
            DateTime start = DateTime.Now;

            bool foundMega = false;

            while (!foundMega && (DateTime.Now - start).TotalSeconds < 3)
            {
                try
                {
                    foundMega = mega.ReadLine() == "Ready. Waiting for target time\r";
                }
                catch (Exception)
                {
                }
            }
            if (!foundMega)
            {
                Error       = $"Arduino recorder not found on port {mega.PortName}";
                isConnected = false;
                return(false);
            }
            if (!uzi.TestConnection())
            {
                Error       = $"Uzi not found on port {uzi.PortName}";
                isConnected = false;
                return(false);
            }
            return(true);
        }
示例#4
0
 public string ReadString()
 {
     try
     {
         ComPort.DiscardInBuffer();
         return(ComPort.ReadLine());
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
示例#5
0
 public string ReadLineBlocking()
 {
     if (ComLogger.Enabled)
     {
         string rv = com.ReadLine();
         ComLogger.Log("rx", rv);
         return(rv);
     }
     else
     {
         return(com.ReadLine());
     }
 }         //la lettura della com è bloccante per natura
示例#6
0
 public string ReadLineBlocking()
 {
     if (GrblCore.WriteComLog)
     {
         string rv = com.ReadLine();
         ComLog.Log("rx", rv);
         return(rv);
     }
     else
     {
         return(com.ReadLine());
     }
 }         //la lettura della com è bloccante per natura
示例#7
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            /*string source = item["source"].InnerText;
             *  string subject = item["subject"].InnerText;
             *  string summary = item["summary"].InnerText;
             *  string date = item["date"].InnerText;
             *
             *  if (item.Name == "RSSEntry")
             *  {
             *      lstPrincipal.Items.Add(new ListViewItem(new[] { source + " - " + subject, summary, date }, 0));
             *  }
             *  else if (item.Name == "TwitterEntry")
             *  {
             *      lstPrincipal.Items.Add(new ListViewItem(new[] { source + " - " + subject, summary, date }, 1));
             *  }
             *  else
             *  {
             *      lstPrincipal.Items.Add(new ListViewItem(new[] { source + " - " + subject, summary, date }, 2));
             *  }*/

            string state    = "Nsadasdsadsa";
            string location = "Kitchenasdadasdasdsadsadasdsadsa";

            string val;
            string val2;

            serialPort1 = new System.IO.Ports.SerialPort("COM8", 9600);
            serialPort2 = new System.IO.Ports.SerialPort("COM9", 9600);

            serialPort2.PortName = "COM9";
            serialPort2.BaudRate = 9600;

            serialPort1.Open();
            val = serialPort1.ReadLine();
            serialPort1.Close();

            /*serialPort2.Open();
             * val2 = serialPort2.ReadLine();
             * serialPort2.Close();*/

            if (Convert.ToInt32(val) == 0)
            {
                lstSensors.Items.Add(new ListViewItem(new[] { "No Leak", serialPort1.PortName }, 0));
            }
            else
            {
                lstSensors.Items.Add(new ListViewItem(new[] { "Leak!", serialPort1.PortName }, 1));
            }

            /*if (Convert.ToInt32(val2) == 0)
             * {
             *  lstSensors.Items.Add(new ListViewItem(new[] { "No Leak", serialPort2.PortName }, 0));
             * }
             * else
             * {
             *  lstSensors.Items.Add(new ListViewItem(new[] { "Leak!", serialPort2.PortName }, 1));
             * }*/

            lstSensors.Items.Add(new ListViewItem(new[] { state, location }, 1));
        }
示例#8
0
        void serial_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string angleData = serial.ReadLine();

            System.Diagnostics.Trace.WriteLine(angleData);
            // double angle ;
            if (double.TryParse(angleData, out angle) == false)
            {
                return;
            }
            // angle = angle;// / 100.0;
            //bool canTransmit = false;
            //vrconnectMutex.WaitOne();
            //if (VRapp != null)
            //    canTransmit = true;
            //vrconnectMutex.ReleaseMutex();
            updateTheFrame(null, angleData);
            //if (canTransmit)
            //{
            //    byte[] deltaAngleBytes = BitConverter.GetBytes(angle); //note: in degrees per frame
            //    try
            //    {
            //        if (VRapp.Connected)
            //            VRapp.GetStream().Write(deltaAngleBytes, 0, deltaAngleBytes.Length);
            //    }
            //    catch
            //    {
            //        VRapp = null;
            //        canTransmit = false;
            //    }
            //}
        }
示例#9
0
文件: Tools.cs 项目: Yuizz/ExamenU6
 public string ReadSerial()
 {
     cadena = "";
     if (Port.IsOpen)
     {
         if (!this.request)
         {
             System.Threading.Thread.Sleep(500);
             Port.WriteLine("2");
             this.request = true;
         }
         else
         {
             try
             {
                 cadena = Port.ReadLine();
             }
             catch { }
             cadena = cadena.Replace("\n", string.Empty);
         }
     }
     else
     {
         try
         {
             Port.Open();
         }
         catch
         {
             cadena = "Arduino desconectado!!";
         }
         this.request = false;
     }
     return(cadena);
 }
示例#10
0
        private void Port_DataReceived(object sender, EventArgs e)
        {
            //---------------------------------------------------------------------
            // Read response bytes
            //---------------------------------------------------------------------
            lock (ThisLock)
            {
                try
                {
                    _lastID    = string.Empty;
                    running    = false;
                    terminated = false;
                    iByte      = 0;
                    sb.Remove(0, sb.Length);
                    sbTemp.Remove(0, sbTemp.Length);

                    //ByteIncoming = Port.ReadByte();
                    inString = Port.ReadLine();

                    //---------------------------------------------------------------------
                    // Analysis and store environment state
                    //---------------------------------------------------------------------
                    log.AppendText(inString);
                    System.Diagnostics.Debug.WriteLine(inString);
                    _lastID = inString;
                    if (OnDataReceived != null)
                    {
                        OnDataReceived(this, new RC522MegawinEventArgs(_lastID));
                    }
                }
                catch (Exception ex) { log.AppendText(_portName + ":" + ex.Message); }
            }
        }
示例#11
0
        private void OnPSU_Rx(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string a = PSU.ReadLine();

            Console.WriteLine(a);
            Single v = 0.0f;

            try
            {
                v = Convert.ToSingle(a.Replace("A", "").Replace("V", "").Replace(".", ",").Replace("\r", ""));
            }
            catch (Exception ex)
            {
            }

            mut.WaitOne();

            if (a.Contains("V"))
            {
                // add datapoint to log and graph
                datapoints[DATA_MOTORVOLTAGE].Add(new DataPoint(v));
            }
            if (a.Contains("A"))
            {
                // add datapoint to log and graph
                datapoints[DATA_MOTORCURRENT].Add(new DataPoint(v));
            }
            mut.ReleaseMutex();

            // 12.649V
            // 0.023A
        }
示例#12
0
 public string ReadLineBlocking()
 {
     return(com.ReadLine());
     //string rv = com.ReadLine();
     //log("rx", rv);
     //return rv;
 }         //la lettura della com è bloccante per natura
示例#13
0
        protected override Task InnerAcceptAsync(CancellationToken token)
        {
            if (isAccepted)
            {
                return(Task.Delay(1000, token));
            }
            isAccepted = true;

            return(Task.Run(() =>
            {
                if (!serialPort.IsOpen)
                {
                    serialPort.Open();
                }
                var line = serialPort.ReadLine();
                if (QpConsts.QuickProtocolNameAndVersion != line)
                {
                    isAccepted = false;
                    throw new IOException("Protocol not match.");
                }
            }, token)
                   .ContinueWith(task =>
            {
                if (task.IsCanceled)
                {
                    return;
                }
                if (task.IsFaulted)
                {
                    return;
                }
                OnNewChannelConnected(serialPort.BaseStream, $"SerialPort:{options.PortName}", token);
            }));
        }
示例#14
0
        /// <summary>
        /// thread sun loop reading GPS, or trying.
        /// </summary>
        private void readThread()
        {
            // keep trying to open serial port;
            while (mIsRunning == true)
            {
                string data = "";

                try {
                    if (mSerialPort.IsOpen)
                    {
                        data = mSerialPort.ReadLine();
                    }
                } catch (IOException) {
                    // port broken, or somesuch
                    if (mSerialPort.IsOpen)
                    {
                        mSerialPort.Close();
                    }
                    if (callback != null)
                    {
                        callback((int)sMess.M_DEMO);
                    }
                } catch (TimeoutException) {
                    // no data, sleep for a while and try again
                    Thread.Sleep(1000);
                    continue;
                }

                if (data.Length > 0)
                {
                    // got data from GPS
                    parse(data, true);
                }
            }
        }
示例#15
0
        /// <summary>
        /// 串口写入指令数据
        /// </summary>
        /// <param name="cmdData">指令数据</param>
        /// <param name="delayTime">写后延时再读取,单位毫秒</param>
        /// <returns></returns>
        private string WriteData(string cmdData, int delayTime)
        {
            string rt = string.Empty;

            lock (_comSyncObj)
            {
                try
                {
                    if (_serialPort != null)
                    {
                        _serialPort.WriteLine(cmdData);
                        System.Threading.Thread.Sleep(delayTime);
                        rt = _serialPort.ReadLine();
                    }
                }catch (System.Exception ex)
                {
                    if (ExceptionOccuredDel != null)
                    {
                        ExceptionOccuredDel("Write command error.\r\n" + ex.Message);
                    }
                }
            }

            return(rt);
        }
示例#16
0
        //initiates to COM3

        ///$GPRMC,135825.000,A,4141.9643,N,08739.5435,W,58.20,13.03,170120,,,A*75
        ///
        static void Main(string[] args)
        {
            System.IO.Ports.SerialPort gpsChip = new System.IO.Ports.SerialPort("COM3");
            if (gpsChip.IsOpen == false) //if not open, open the port
            {
                gpsChip.Open();
            }
            //do your work here

            bool running = true;

            while (running)
            {
                var line = gpsChip.ReadLine();

                if (line.Substring(0, 6) == "$GPRMC")
                {
                    var gPRMC = CreateGPRMC(line);

                    //Console.WriteLine("Date is {0}", gPRMC.Date);
                    //Console.WriteLine(gPRMC.IsValidData);
                    Console.WriteLine("Latitute: {0}{1} ; Longitude {2}{3}", gPRMC.LongitudeStamp, gPRMC.LongitudeDirection, gPRMC.LatitudeStamp, gPRMC.LongitudeDirection);
                    Console.WriteLine("Speed: {0} Knots", gPRMC.Knots);
                }
            }

            gpsChip.Close();

            Console.ReadLine();
        }
示例#17
0
 private static void ReadComData()
 {
     sPrtScan.NewLine = "\r";
     while (sPrtScan.IsOpen)
     {
         string sData = "";
         try
         {
             sData = sPrtScan.ReadLine();
         }
         catch
         {
             if (sPrtScan.IsOpen)
             {
                 sPrtScan.Close();
             }
             return;
         }
         if (!sData.Equals(""))
         {
             for (int i = 0; i < sData.Length; i++)
             {
                 SendKeys.SendWait("{" + sData[i].ToString() + "}");
             }
             SendKeys.SendWait("{Enter}");
         }
     }
 }
示例#18
0
        private void SP1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            System.IO.Ports.SerialPort sp = (System.IO.Ports.SerialPort)sender;
            if (connecting)
            {
                connecting = false;
                connected  = true;
            }

            if (!connected)
            {
                try
                {
                    string str = sp.ReadExisting();
                    if (str.Contains("a"))
                    {
                        sp.DiscardInBuffer();
                        connected = true;
                    }
                }
                catch
                {
                    lb1SetText("nelze se připojit k procesoru");
                }
                sp.DiscardInBuffer();
            }
            else
            {
                try
                {
                    //sp.DiscardInBuffer();
                    if (sp.ReadChar() == 'a')
                    {
                        System.Threading.Thread.Sleep(2);
                        if (sp.BytesToRead > 176)
                        {
                            ulong[] inpData = new ulong[11];
                            for (int i = 0; i != 11; i++)
                            {
                                if (!ulong.TryParse(sp.ReadLine().Trim(), out inpData[i]))
                                {
                                    sp.ReadExisting();
                                    break;
                                }
                            }
                            sp.DiscardInBuffer();
                            UpdateImg(inpData);
                        }
                    }
                }
                catch (Exception ex)
                {
                    lb1SetText("catch exeption" + ex.Message);
                    timer1.Stop();
                    return;
                }
            }
        }
示例#19
0
文件: Form1.cs 项目: sarthou/CAS_SIEC
        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            System.IO.Ports.SerialPort sp = (System.IO.Ports.SerialPort)sender;

            while (sp.BytesToRead != 0)  //TODO fix it
            {
                sp.NewLine = "\n";
                try
                {
                    string indata = sp.ReadLine();

                    if (indata != "")
                    {
                        byte[] toBytes = Encoding.GetEncoding(1252).GetBytes(indata);
                        //this.logTextBox.AppendText(getToHex(toBytes), Color.Green);

                        this.debug_text.AppendTextReceive(indata);

                        if ((toBytes[0] & 0xC0) == 0x00)
                        {
                            indata = updateSensors(toBytes);
                        }
                        else if ((toBytes[0] & 0xC0) == 0xC0)
                        {
                            indata = updateError(toBytes);
                        }

                        /*else if ((toBytes[0] & 0xC0) == 0x40)
                         * {
                         *  indata = "[DBG]" + indata.Substring(1);
                         * }*/

                        if (indata[0] == '[')
                        {
                            if (indata.Contains("[ERR]") && checkBox_error.Checked)
                            {
                                this.logTextBox.AppendText(indata, Color.Red);
                            }
                            else if (indata.Contains("[WRN]") && checkBox_warning.Checked)
                            {
                                this.logTextBox.AppendText(indata, Color.Orange);
                            }
                            else if (indata.Contains("[DBG]") && checkBox_dbg.Checked)
                            {
                                this.logTextBox.AppendText(indata, Color.Blue);
                            }
                            else if (indata.Contains("[CMD]") && checkBox_cmd.Checked)
                            {
                                this.logTextBox.AppendText(indata, Color.Black);
                            }
                        }
                    }
                }
                catch (Exception ex)
                { //oups, something went wrong !
                }
            }
        }
示例#20
0
 public static void Main()
 {
     port = new System.IO.Ports.SerialPort("Com3", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
     port.Close();
     port.Open();
     while (true) {
         OutputWeather(ConvertWeatherInput(port.ReadLine()));
     }
 }
示例#21
0
 void Do_Weight_Scale_Read()
 {
     try
     {
         lb_weightscaler.Items.Add(weightscale.ReadLine().Replace("g\r", "").Trim());
     }
     catch
     { }
 }
示例#22
0
        // Handles new data received from the serial port.
        private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            String newText = serialPort.ReadLine();

            newText = newText.Trim();
            int inputNum = Convert.ToInt32(newText);

            updatePadStates(inputNum);
        }
示例#23
0
 public static void Main()
 {
     port = new System.IO.Ports.SerialPort("Com3", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
     port.Close();
     port.Open();
     while (true)
     {
         OutputWeather(ConvertWeatherInput(port.ReadLine()));
     }
 }
示例#24
0
 private void btnImport_Click(object sender, EventArgs e)
 {
     //using (var sp = new System.IO.Ports.SerialPort("COM11", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One))
     using (var sp = new System.IO.Ports.SerialPort("COM7", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One))
     {
         sp.Open();
         var readData = sp.ReadLine();
         Console.WriteLine(readData);
     }
 }
示例#25
0
 void Weight_Scale_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
 {
     try
     {
         Weight_Return = float.Parse(Weight_Scale.ReadLine().Replace("g\r", "").Trim());
     }
     catch
     {
     }
 }
示例#26
0
        public static void Main()
        {
            //access weatherboard serial port, com number must be set manually
            port = new System.IO.Ports.SerialPort(comPort, 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
            //port.Close();
            //while (port.IsOpen) { }//loop until port is actually closed
            port.Open();

            //set up output file
            StreamWriter writer = new StreamWriter("C:\\WeatherData.csv", true);

            writer.WriteLine("Data Start at " + System.DateTime.Now);
            foreach (string s in WEATHER_BOARD_FIELDS)
            {
                writer.Write(s + ",");
            }
            writer.WriteLine();

            //output data to screen and file
            string input;
            string output;

            double[] data;
            while (!System.Console.KeyAvailable)//exit loop if any key is pressed
            {
                input = port.ReadLine();
                data  = ConvertWeatherInput(input);

                //output comma separated values
                //foreach (double d in data)
                //{
                //    writer.Write(d + ",");
                //}
                ////add dew point and newline
                //writer.WriteLine(RSMath.TemperatureMath.getDewPoint(input[2], input[0]));

                ////flush writer to ensure data is written in case of crash
                //writer.Flush();

                //write output to console window
                //OutputWeather(data);

                //wait a half second between logged events
                System.Threading.Thread.Sleep(2000);
            }

            //clean up output file
            //writer.WriteLine("End of data - file closed normally");
            //writer.Close();

            //indicate normal close
            System.Console.WriteLine("Process ended succesfully. Press Return to exit.");

            System.Console.ReadLine();//empty console input
        }
示例#27
0
        private void serialDataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string line = serial.ReadLine();

            Console.WriteLine(line);
            lock (queueLock)
            {
                dataPoint.Enqueue(line);
            }
            this.BeginInvoke(new MethodInvoker(addDataPoints)); // Add data points on main GUI thread
        }
示例#28
0
        private void DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string str = serialPort.ReadLine();

            if (str != string.Empty)
            {
                proximity = System.Convert.ToInt32(str);
                ProgressBar1.BeginInvoke(new myDelegate(updateControl));
                Console.WriteLine(proximity);
            }
        }
示例#29
0
 public string ReadLine()
 {
     try
     {
         return(serialPort.ReadLine());
     }
     catch (Exception e)
     {
         PortException.AddException(e.Message);
         return("");
     }
 }
示例#30
0
 public string SerialReadLine(Common.SerialDevice device)
 {
     try
     {
         System.IO.Ports.SerialPort serial = (System.IO.Ports.SerialPort)Serials[device];
         return(serial.ReadLine());
     }
     catch
     {
         return("ERROR");
     }
 }
示例#31
0
        /// <summary>
        /// todo - read data and handle properly
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string MPtext = port.ReadLine();

            output.Enqueue(MPtext);
            // Example: "X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0.00 Y:0.00 Z:0.00"
            if (MPtext.StartsWith("X:"))
            {
                MPtext         = MPtext.Substring(MPtext.IndexOf('E') + 2);
                MPtext         = MPtext.Substring(0, MPtext.IndexOf(' '));
                this.ePosition = Convert.ToDouble(MPtext);
            }
        }
示例#32
0
        public string ReadLine()
        {
            string sResult = string.Empty;

            try
            {
                sResult = sp.ReadLine();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(sResult);
        }
示例#33
0
        internal static void SendCommand(string cmd, string resp, int timeout)
        {
            System.IO.Ports.SerialPort mySerialPort = new System.IO.Ports.SerialPort();
            try
            {

                if (myFocuser.Link) myFocuser.Link = false;

                mySerialPort.PortName = XMLSettings.SavedSerialPortName;
                mySerialPort.BaudRate = 19200;
                mySerialPort.Open();
                mySerialPort.ReadTimeout = 1000;
                mySerialPort.DiscardOutBuffer();
                mySerialPort.DiscardInBuffer();

                mySerialPort.Write("FMMODE");
                string received = mySerialPort.ReadLine();
                if (!received.Contains("!"))
                {
                    throw new ApplicationException("Attempt to put device in serial mode failed.");
                }
                mySerialPort.ReadTimeout = timeout;
                mySerialPort.Write(cmd);
                received = mySerialPort.ReadLine();
                if (!received.Contains(resp))
                {
                    throw new ApplicationException("Did not receive DONE response after sending coefficient to device");
                }
                mySerialPort.ReadTimeout = 700;
                mySerialPort.Write("FFXXXX");
                received = mySerialPort.ReadLine();
                if (!received.Contains("END"))
                {
                    throw new ApplicationException("Did not receive DONE response after sending coefficient to device");
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                mySerialPort.Close();
                mySerialPort.Dispose();
            }
        }
示例#34
0
        public static void Main()
        {
            //access weatherboard serial port, com number must be set manually
            port = new System.IO.Ports.SerialPort(comPort, 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
            //port.Close();
            //while (port.IsOpen) { }//loop until port is actually closed
            port.Open();

            //set up output file
            StreamWriter writer = new StreamWriter("C:\\WeatherData.csv", true);
            writer.WriteLine("Data Start at " + System.DateTime.Now);
            foreach (string s in WEATHER_BOARD_FIELDS)
            {
                writer.Write(s + ",");
            }
            writer.WriteLine();

            //output data to screen and file
            string input;
            string output;
            double[] data;
            while (!System.Console.KeyAvailable)//exit loop if any key is pressed
            {
                input = port.ReadLine();
                data = ConvertWeatherInput(input);

                //output comma separated values
                //foreach (double d in data)
                //{
                //    writer.Write(d + ",");
                //}
                ////add dew point and newline
                //writer.WriteLine(RSMath.TemperatureMath.getDewPoint(input[2], input[0]));

                ////flush writer to ensure data is written in case of crash
                //writer.Flush();

                //write output to console window
                //OutputWeather(data);

                //wait a half second between logged events
                System.Threading.Thread.Sleep(2000);
            }

            //clean up output file
            //writer.WriteLine("End of data - file closed normally");
            //writer.Close();

            //indicate normal close
            System.Console.WriteLine("Process ended succesfully. Press Return to exit.");

            System.Console.ReadLine();//empty console input
        }