示例#1
0
        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();
        }
示例#2
0
        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++;
            }
        }