Beispiel #1
0
        async static void MainAsync()
        {
            try
            {
                int counter = 0;
                using (Spektrometr s = new Spektrometr("COM3", 1000))
                    while (true)
                    {
                        try
                        {
                            SpektrometrStatus status = await s.GetAllVariablesAsync();

                            Console.Clear();
                            Console.WriteLine($"Aktualna pozycja 1: { status.AktualneImpulsy1 }");
                            Console.WriteLine($"Aktualna pozycja 2: { status.AktualneImpulsy2 }");
                            Console.WriteLine($"Port 1: { status.Input1 }");
                            Console.WriteLine($"Port 2: { status.Input2 }");
                            Console.WriteLine($"Port 3: { status.Input3 }");
                            Console.WriteLine($"Port 4: { status.Input4 }");
                            Console.WriteLine($"Format Exceptions: { counter }");
                            await Task.Delay(100);
                        }
                        catch (FormatException e)
                        {
                            Console.WriteLine($"{ e.Message }");
                            counter++;
                        }
                    }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
Beispiel #2
0
        private void Connect_Click(object sender, EventArgs e)
        {
            try
            {
                int interval = Convert.ToInt32(RefreshRate.Value);
                spektrometr = new Spektrometr(PortChoose.Text, int.Parse(BitRate.Text), interval / 2);

                readTimer          = new Timer();
                readTimer.Interval = interval;
                readTimer.Tick    += ReadVariables;

                PortChoose.Enabled  = false;
                BitRate.Enabled     = false;
                RefreshRate.Enabled = false;
                Connect.Enabled     = false;

                WyslijPorty.Enabled    = true;
                WyslijVMax.Enabled     = true;
                Wyslij1.Enabled        = true;
                Przepisz1.Enabled      = true;
                Wyslij2.Enabled        = true;
                Przepisz2.Enabled      = true;
                LusterkoWyslij.Enabled = true;
                Dissconnect.Enabled    = true;

                ConnectionErrors.Value = 0;
                readTimer.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Exception occured:{ Environment.NewLine }{ ex.ToString() }", "Unable to open port", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Dissconnect_Click(Connect, null);
            }
        }
Beispiel #3
0
        private void Dissconnect_Click(object sender, EventArgs e)
        {
            try
            {
                spektrometr.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Exception occured:{ Environment.NewLine }{ ex.ToString() }", "Unable to dispose port", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                spektrometr = null;
            }

            try
            {
                readTimer.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Exception occured:{ Environment.NewLine }{ ex.ToString() }", "Timer Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                readTimer = null;
            }

            PortChoose.Enabled  = true;
            BitRate.Enabled     = true;
            RefreshRate.Enabled = true;
            Connect.Enabled     = true;

            WyslijPorty.Enabled    = false;
            WyslijVMax.Enabled     = false;
            Wyslij1.Enabled        = false;
            Przepisz1.Enabled      = false;
            Wyslij2.Enabled        = false;
            Przepisz2.Enabled      = false;
            LusterkoWyslij.Enabled = false;
            Dissconnect.Enabled    = false;
        }
Beispiel #4
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     spektrometr?.Dispose();
     spektrometr = null;
 }