예제 #1
0
 private void OnCaptureEndedEvent(Subcalibration sender, EventArgs e)
 {
     if (CaptureEnded != null)
         CaptureEnded(sender, e);
 }
예제 #2
0
 private void OnRequestCaptureEvent(Subcalibration sender, EventArgs e)
 {
     if (RequestCapture != null)
         RequestCapture(sender, e);
 }
예제 #3
0
 private async void sub_RequestCapture(Subcalibration sender, EventArgs e)
 {
     if (ActiveCalibrationSub != null)
         ActiveCalibrationSub.AbortCommand.Execute(null);
     await Task.Delay(200);
     ActiveCalibrationSub = sender;
     await ActiveCalibrationSub.RunAsync();
 }
예제 #4
0
 private void sub_CaptureEnded(Subcalibration sender, EventArgs e)
 {
     ActiveCalibrationSub = null;
 }
예제 #5
0
 private void UpdateNumberOfSubcalibrations()
 {
     if (Subcalibrations.Count > TotalCalibrationPoints) // case 1: zu viele -> range löschen
     {
         //remove extra subcalibrations
         for (int i = TotalCalibrationPoints; i < Subcalibrations.Count; i++)
             Subcalibrations.RemoveAt(i);
     }
     else if (TotalCalibrationPoints > Subcalibrations.Count) // case 2: zu wenige -> hinzufügen
     {
         for (int i = Subcalibrations.Count; i < TotalCalibrationPoints; i++)
         {
             BiomassResponseData brd = new BiomassResponseData() { OD = 0.1 * Math.Pow(2, i), CalibrationDuration = 20 };
             Subcalibration sub = new Subcalibration(brd, CalibrationProfiles.Symbols[CalibrationTarget], CalibrationProfiles.Units[CalibrationTarget]) { Target = CalibrationTarget };
             sub.RequestCapture += sub_RequestCapture;
             sub.CaptureEnded += sub_CaptureEnded;
             Subcalibrations.Add(sub);
         }
     }
 }