private void SpectrometerStatusChanged(object sender, SpectrometerStatusChangedEventHandlerArgs args) { var spectrometer = ((ISpectrometer)sender); if (args.IsSpectrometerReady) { //_spectrometer.StatusChanged -= SpectrometerStatusChanged; CallThreadSafe(() => { if (!_isAutamaticMeasurements) { IsWait = false; } CcdLevels = spectrometer.CcdLevels; SetCcdLevelsCollectionValues(); }); } else { Task.Run(() => { Logger.Error(spectrometer.LastError); CallThreadSafe(() => { WaitMessage = StringResourceProvider.Instance[StringResourceProvider.Keys.SpectrometerFailedSeeLogForDetails].Value; }); Thread.Sleep(3000); CallThreadSafe(() => { if (!_isAutamaticMeasurements) { IsWait = false; } IsRealTimeSpectrometerData = false; Values = null; }); }); } }
protected virtual void OnStatusChanged(SpectrometerStatusChangedEventHandlerArgs e) { StatusChanged?.Invoke(this, e); }
protected void NotifyStatusChanged(bool isReady) { var e = new SpectrometerStatusChangedEventHandlerArgs(isReady); OnStatusChanged(e); }