//Entkoppelungsglied damit eine Langsame Ausführung von Ausgaberoutine nicht den Lagesensor ausbremst public void MakeAusgabeAsync(UAVSingleParameter param, bool isremote) { //Console.WriteLine(watch.ElapsedMilliseconds+"ms"); if ((AusgabecallResult != null) && (!AusgabecallResult.IsCompleted)) // Wenn noch immer nicht fertig aber bereits ausgeführt { Console.WriteLine("Programm zu langsam"); } else // Noch nicht gestartet oder vom letzten Mal schon fertig dann ausführen { AHRS.ValueChangedHandler mehtodenaufruf = new AHRS.ValueChangedHandler(Ausgaberoutine); // Speicher ausgaberoutine in Variable AusgabecallResult = mehtodenaufruf.BeginInvoke(param, isremote, null, null); //Rufe Ausgabe asyncron auf } }
//Entkoppelungsglied damit eine Langsame Ausführung von Ausgaberoutine nicht den Lagesensor ausbremst public void MakeAusgabeAsync(UAVSingleParameter param,bool isremote) { //Console.WriteLine(watch.ElapsedMilliseconds+"ms"); if ((AusgabecallResult != null)&&(!AusgabecallResult.IsCompleted)){ // Wenn noch immer nicht fertig aber bereits ausgeführt Console.WriteLine("Programm zu langsam"); }else{ // Noch nicht gestartet oder vom letzten Mal schon fertig dann ausführen AHRS.ValueChangedHandler mehtodenaufruf = new AHRS.ValueChangedHandler(Ausgaberoutine); // Speicher ausgaberoutine in Variable AusgabecallResult = mehtodenaufruf.BeginInvoke(param,isremote,null,null); //Rufe Ausgabe asyncron auf } }