static void Main(string[] args) { SilnikKlient silnik = new SilnikKlient(); ZaworKlient zawor = new ZaworKlient(); CancellationTokenSource cts = new CancellationTokenSource(); Console.CancelKeyPress += (_, e) => { e.Cancel = true; cts.Cancel(); }; Console.WriteLine("[1 - silnik wlacz ]"); Console.WriteLine("[2 - silnik wylacz ]"); Console.WriteLine("[5 - zawor otworz ]"); Console.WriteLine("[6 - zawor zamknij ]"); ConsoleKey klawisz; while (!cts.IsCancellationRequested) { klawisz = Console.ReadKey(true).Key; switch (klawisz) { case ConsoleKey.D1: silnik.Zalacz().Wait(); break; case ConsoleKey.D2: silnik.Wylacz().Wait(); break; case ConsoleKey.D5: zawor.Otworz().Wait(); break; case ConsoleKey.D6: zawor.Zamknij().Wait(); break; case (ConsoleKey)ConsoleSpecialKey.ControlC: break; } } ; silnik.DisposeAsync(); zawor.DisposeAsync(); }
private async Task symuluj(ProgramPrania programPrania) { //sprawdź ciężar //sprawdź zamknięcie drzwi //zamknij drzwi czyPierze = true; drzwi.Zamknij().Wait(); zawor.Otworz().Wait(); Task.Delay(1000).Wait(); zawor.Zamknij().Wait(); int i = 0; while (czyPierze) { //Console.WriteLine("SterowanieDevice: Symulowanie"); switch (i) { case 0: await ustawEtapPrania(EtapPrania.Pranie); Console.WriteLine("SterowanieDevice: EtapPrania.Pranie"); int predkosc = ProgramPraniaToPredkosc[programPrania]; silnik.UstawPredkoscKatowa(predkosc).Wait(); silnik.Zalacz().Wait(); break; case 5: silnik.Wylacz().Wait(); await ustawEtapPrania(EtapPrania.Plukanie); Console.WriteLine("SterowanieDevice: EtapPrania.Plukanie"); silnik.UstawPredkoscKatowa(8).Wait(); silnik.Zalacz().Wait(); break; case 10: if (programPrania != ProgramPrania.BawelnaBezWirowania) { silnik.Wylacz().Wait(); await ustawEtapPrania(EtapPrania.Wirowanie); Console.WriteLine("SterowanieDevice: EtapPrania.Wirowanie"); silnik.UstawPredkoscKatowa(50).Wait(); silnik.Zalacz().Wait(); } break; case 12: silnik.Wylacz().Wait(); silnik.UstawPredkoscKatowa(0).Wait(); await ustawEtapPrania(EtapPrania.Zakonczone); Console.WriteLine("SterowanieDevice: EtapPrania.Zakonczone"); break; case 15: czyPierze = false; Console.WriteLine("SterowanieDevice: Koniec prania"); drzwi.Otworz().Wait(); break; default: Console.Write("."); break; } Task.Delay(1000).Wait(); i++; } }