private void OnCaptureEndedEvent(Subcalibration sender, EventArgs e) { if (CaptureEnded != null) CaptureEnded(sender, e); }
private void OnRequestCaptureEvent(Subcalibration sender, EventArgs e) { if (RequestCapture != null) RequestCapture(sender, e); }
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(); }
private void sub_CaptureEnded(Subcalibration sender, EventArgs e) { ActiveCalibrationSub = null; }
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); } } }