Пример #1
0
        // proceso que maneja la llegada de data al puerto serial
        private void serialDataReceivedEventHandler(object sender, SerialDataReceivedEventArgs e)
        {
            try // en caso de que ya este proceso haya iniciado y se precione el boton de cerrar el puerto, produce un error
            {
                SerialPort sData    = sender as SerialPort;
                string     recvData = sData.ReadLine();

                //LOG.BeginInvoke((MethodInvoker)delegate { LOG.AppendText("Received: " + recvData); });

                // initialization of chart update
                double data;
                bool   result = Double.TryParse(recvData, out data);
                if (result)
                {
                    medicion m = new medicion(recvData, tag, data);
                    if (tag == null)
                    {
                        m = new medicion(recvData, " ", data);
                    }
                    else
                    {
                        m   = new medicion(recvData, tag, data);
                        tag = null;
                    }
                    //datarecorded.Add(recvData);
                    this.Invoke((MethodInvoker) delegate { updatechart(m); });
                }
            }
            catch
            {
                //MessageBox.Show("failed");//do nothing ... mensaje de prueba
            }
        }
Пример #2
0
 private void updatechart(medicion data)
 {
     chart1.Series["Series1"].Points.AddXY(data.etiqueta, data.numvalor);
     recorded.Add(data);
     chart1.ChartAreas[0].AxisX.ScaleView.Position = chart1.Series["Series1"].Points.Count - 500;// ubica siempre la pantalla al final
 }