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()); } }
private void UpdateValues(SpektrometrStatus status) { int mainStatus = status.MainStatus; for (int i = 0; i < 6; i++) { StatusIndicator.SetItemCheckState(i, (mainStatus & (1 << i)) != 0 ? CheckState.Checked : CheckState.Unchecked); } int ioStatus = status.IoStatus; for (int i = 0; i < 8; i++) { IOStatus.SetItemCheckState(i, (ioStatus & (1 << i)) != 0 ? CheckState.Checked : CheckState.Unchecked); } AktualneImpulsy1.Value = status.AktualneImpulsy1; AktualneImpulsy2.Value = status.AktualneImpulsy2; lastIoStatus = status.IoStatus; }