public void NotifyHardwareAdded(List <IGroup> allHardware) { if (_nonSoftwareCurve || _softwareCurve != null) { return; } if (_sensorIdentifier == null) { if (!SoftwareCurve.TryParse(_settings.GetValue( new Identifier(Identifier, "curveValue").ToString(), ""), out _sensorIdentifier)) { _nonSoftwareCurve = true; return; } } foreach (var group in allHardware) { foreach (var hardware in group.Hardware) { HardwareAdded(hardware); } } }
public void NotifyClosing() { if (_softwareCurve == null) { return; } DetachSoftwareCurve(); _softwareCurve.Dispose(); _softwareCurve = null; ControlModeChanged?.Invoke(this); Debug.WriteLine("closing"); }
private void AttachSoftwareCurve(SoftwareCurve newCurve) { if (_softwareCurveAttached || _softwareCurve != null) { DetachSoftwareCurve(); } _softwareCurve = newCurve; //this.softwareCurve.Sensor.Hardware.SensorRemoved += SensorRemoved; //this.parentSensor.Hardware.SensorRemoved += SensorRemoved; _softwareCurve.SoftwareCurveValueChanged += this.HandleSoftwareCurveValueChange; _softwareCurve.SoftwareCurveAbort += this.HandleSoftwareCurveAbort; _softwareCurve.Start(); _softwareCurveAttached = true; Debug.WriteLine("attaching softwarecurve"); }
public void SetSoftwareCurve(List <ISoftwareCurvePoint> points, ISensor sensor) { _sensorIdentifier = null; _nonSoftwareCurve = false; ControlMode = ControlMode.SoftwareCurve; var softwareCurve = new SoftwareCurve(points, sensor); AttachSoftwareCurve(softwareCurve); _settings.SetValue(new Identifier(Identifier, "curveValue").ToString(), softwareCurve.ToString()); Debug.WriteLine("softwareCurve.ToString(): " + softwareCurve.ToString()); }
private void SensorAdded(ISensor sensor) { if (_softwareCurve != null) { return; } if (sensor.Identifier.ToString() == _sensorIdentifier) { if (!SoftwareCurve.TryParse(_settings.GetValue( new Identifier(Identifier, "curveValue").ToString(), ""), out List <ISoftwareCurvePoint> points)) { return; } _softwareCurve = new SoftwareCurve(points, sensor); Debug.WriteLine("hardware added software curve created"); if (_mode == ControlMode.SoftwareCurve) { AttachSoftwareCurve(_softwareCurve); } } }
private void HandleSoftwareCurveAbort(SoftwareCurve softwareCurve) { DetachSoftwareCurve(); ControlModeChanged?.Invoke(this); // until softwarecurve is started again, get value of ControlMode is Default Debug.WriteLine("softwarecurve abort!"); }
private void HandleSoftwareCurveValueChange(SoftwareCurve softwareCurve) { _softwareCurveValue = softwareCurve.Value; Debug.WriteLine("setting value from software curve: " + softwareCurve.Value); SoftwareControlValueChanged?.Invoke(this); }