public void UpdateValueBoxes(RegulationSettings newSettings) { if (newSettings != null && newSettings.IsComplete) { this.SafeInvoke(() => { numFieldTarget.Value = (decimal) newSettings.TargetValue; lN.Text = string.Format("{0:0.0}", newSettings.TargetValue); numFieldHisteress.Value = (decimal) newSettings.Histeresis; lH.Text = string.Format("{0:0.0}", newSettings.Histeresis); numFieldTime.Value = (decimal) newSettings.WaitTime; lO.Text = string.Format("{0:0.0}", newSettings.WaitTime); numFieldAlarm.Value = (decimal) newSettings.AlarmOffset; lA.Text = string.Format("{0:0.0}", newSettings.AlarmOffset); //checkBox1.CheckState = newSettings.NormallyClosed ? CheckState.Checked : CheckState.Unchecked; checkBox1.Checked = newSettings.NormallyClosed; nc.Checked = newSettings.NormallyClosed; Enabled = true; }); } }
private static RegulationSettings ParseRegulationSettings(string reply) { var newSettings = new RegulationSettings(); var replyParts = reply.Split(new[] {' ', '_'}, StringSplitOptions.RemoveEmptyEntries); foreach (var part in replyParts) { var cutPart = part.Substring(1); switch ((MsregEditSettingChoices) part[0]) { case MsregEditSettingChoices.Nastawa: newSettings.TargetValue = double.Parse(cutPart, ParseCultureInfo); break; case MsregEditSettingChoices.Histereza: newSettings.Histeresis = double.Parse(cutPart, ParseCultureInfo); break; case MsregEditSettingChoices.NormallyClosed: newSettings.NormallyClosed = double.Parse(cutPart, ParseCultureInfo) != 0; break; case MsregEditSettingChoices.OdstepPrzelaczen: newSettings.WaitTime = double.Parse(cutPart, ParseCultureInfo); break; case MsregEditSettingChoices.PoziomAlarmowy: newSettings.AlarmOffset = double.Parse(cutPart, ParseCultureInfo); break; } } return newSettings; }
/* void settingChangeTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { settingChangeTimer.Stop(); if (ValueChanged != null) { var newSettings = new RegulationSettings(); newSettings.TargetValue = (double)numFieldTarget.Value; newSettings.Histeresis = (double)numFieldHisteress.Value; newSettings.WaitTime = (double)numFieldTime.Value; newSettings.AlarmOffset = (double)numFieldAlarm.Value; newSettings.NormallyClosed = checkBox1.CheckState == CheckState.Checked; ValueChanged(this, newSettings); } } private void numericUpDownValueChanged(object sender, EventArgs e) { if (settingChangeTimer != null) { settingChangeTimer.Stop(); settingChangeTimer.Start(); } } */ public RegulationSettings GetNewSettings() { var newSettings = new RegulationSettings(); newSettings.TargetValue = (double) numFieldTarget.Value; newSettings.Histeresis = (double) numFieldHisteress.Value; newSettings.WaitTime = (double) numFieldTime.Value; newSettings.AlarmOffset = (double) numFieldAlarm.Value; newSettings.NormallyClosed = checkBox1.CheckState == CheckState.Checked; return newSettings.IsComplete ? newSettings : null; }
public void UploadSettingsAsync(TargetMeasurementType type, RegulationSettings settings) { Task.Factory.StartNew(() => { UploadSetting(type, MsregEditSettingChoices.Nastawa, settings.TargetValue); UploadSetting(type, MsregEditSettingChoices.Histereza, settings.Histeresis); UploadSetting(type, MsregEditSettingChoices.OdstepPrzelaczen, settings.WaitTime); UploadSetting(type, MsregEditSettingChoices.PoziomAlarmowy, settings.AlarmOffset); UploadSetting(type, MsregEditSettingChoices.NormallyClosed, settings.NormallyClosed ? 0.1 : 0); SendCommandFast(type == TargetMeasurementType.Temperature ? MsregInputCommand.TemperatureSettings : MsregInputCommand.HumiditySettings); }); }