private void buttonStart_Click(object sender, RoutedEventArgs e) { ProgramPrania program = ProgramPraniaStringToEnum[comboBoxProgramPrania.SelectedValue.ToString()]; Task.Run(() => { sterowanie.Start(program).Wait(); Dispatcher.Invoke(() => { log("PanelSterowania", "Start(" + program + ")"); }); }); }
public async Task Start(ProgramPrania programPrania) { if (!czyPierze) { Console.WriteLine("SterowanieDevice: Start, program = " + programPrania); symTask = Task.Run(async() => { await symuluj(programPrania); }); } await Task.CompletedTask; }
public async Task Start(ProgramPrania programPrania) { await pDevice.Start(programPrania); }
public async Task Start(ProgramPrania programPrania) { await pSterowanieSerwer.SendAsync("Start", programPrania); }
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++; } }