Esempio n. 1
0
        private void connectToolStripMenuItem_Click(object sender, EventArgs e)
        {
            label1.Visible = true;
            try
            {
                var menuitem = (ToolStripMenuItem)sender;
                if (menuitem != null)
                {
                    if (menuitem.Text.Contains("Start"))
                    {
                        menuitem.Text       = @"&Stop";
                        this.workerDelegate = this.UpdateUi;
                        workerThread        = new Thread(this.DoWork);
                        workerThread.Start();
                        MeterPanel.Visible = true;
                    }
                    else
                    {
                        workerThread?.Abort();
                        lib.ClosePort();
                        menuitem.Text = @"&Start";
                    }
                }
                else
                {
                    throw new Exception("Menu error");
                }
            }
            catch (Exception ex)

            {
                ErrorMesg mesg = new ErrorMesg {
                    Mesg = ex.Message
                };
                mesg.ShowDialog();
            }
        }
Esempio n. 2
0
        private void DoWork()
        {
            StreamWriter writer = null;

            string result = appSettings["Comport"];

            if (string.IsNullOrEmpty(result))
            {
                var frm = new Settings();
                frm.ShowDialog();
                result = appSettings["Comport"];
            }

            TimeSpan ts = new TimeSpan(0, 0, 0, LogInterval / 1000, LogInterval % 1000);


            toWriteTime = DateTime.Now;
            if (!string.IsNullOrEmpty(LogFilename))
            {
                writer = new StreamWriter(LogFilename);
            }

            var vcLib = new Vici8145();

            try
            {
                vcLib.Openport(result);
                DisplayData b = new DisplayData();
                while (true)
                {
                    b = vcLib.GetData(b, RespondingCommands.AnalogeBarValue);
                    if (!DisplData(b, writer, ts))
                    {
                        return;
                    }

                    b = vcLib.GetData(b, RespondingCommands.MainDisplayValue);
                    if (!DisplData(b, writer, ts))
                    {
                        return;
                    }

                    b = vcLib.GetData(b, RespondingCommands.AnalogeBarValue);

                    if (!DisplData(b, writer, ts))
                    {
                        return;
                    }

                    b = vcLib.GetData(b, RespondingCommands.SecondDisplayValue);
                    if (!DisplData(b, writer, ts))
                    {
                        return;
                    }

                    b = vcLib.GetData(b, RespondingCommands.AnalogeBarValue);
                    if (!DisplData(b, writer, ts))
                    {
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                writer?.Close();

                if (!ex.Message.Contains("abort"))
                {
                    ErrorMesg mesg = new ErrorMesg {
                        Mesg = ex.Message
                    };
                    mesg.ShowDialog();
                }
            }
        }