private void SensorAdded(ISensor sensor) { if (softwareCurve != null) { return; } if (sensor.Identifier.ToString() == sensorIdentifier) { List <ISoftwareCurvePoint> points; if (!SoftwareCurve.TryParse(settings.GetValue( new Identifier(identifier, "curveValue").ToString(), ""), out points)) { return; } this.softwareCurve = new SoftwareCurve(points, sensor); Debug.WriteLine("hardware added software curve created"); if (mode == ControlMode.SoftwareCurve) { AttachSoftwareCurve(softwareCurve); } } }
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); } } }
private void HandleSoftwareCurveAbort(SoftwareCurve softwareCurve) { DetachSoftwareCurve(); if (ControlModeChanged != null) { ControlModeChanged(this); // until softwarecurve is started again, get value of ControlMode is Default } Debug.WriteLine("softwarecurve abort!"); }
private void AttachSoftwareCurve(SoftwareCurve newCurve) { if (this.softwareCurveAttached || this.softwareCurve != null) { DetachSoftwareCurve(); } this.softwareCurve = newCurve; //this.softwareCurve.Sensor.Hardware.SensorRemoved += SensorRemoved; //this.parentSensor.Hardware.SensorRemoved += SensorRemoved; this.softwareCurve.SoftwareCurveValueChanged += this.HandleSoftwareCurveValueChange; this.softwareCurve.SoftwareCurveAbort += this.HandleSoftwareCurveAbort; this.softwareCurve.Start(); this.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); this.settings.SetValue(new Identifier(identifier, "curveValue").ToString(), softwareCurve.ToString()); Debug.WriteLine("softwareCurve.ToString(): " + softwareCurve.ToString()); }
private void HandleSoftwareCurveValueChange(SoftwareCurve softwareCurve) { this.softwareCurveValue = softwareCurve.Value; Debug.WriteLine("setting value from software curve: " + softwareCurve.Value); this.SoftwareControlValueChanged(this); }