void RNG_ValueChanged(object sender, string Name, string Value) { TXT_info.Clear(); float value = float.Parse(Value); Controls.RangeControl rc = ((Controls.RangeControl)sender); log.Info(rc.Name + " " + rc.Value); List <relationitem> relitems = ((configitem)rc.Tag).relations; try { MainV2.comPort.setParam(rc.Name, value); } catch (Exception ex) { CustomMessageBox.Show("Failed to change setting " + ex.Message); return; } TXT_info.AppendText("set " + rc.Name + " " + rc.Value + "\r\n"); foreach (var item in relitems) { try { MainV2.comPort.setParam(item.paramaname, (float)(value * item.multiplier)); TXT_info.AppendText("set " + item.paramaname + " " + (float)(value * item.multiplier) + "\r\n"); } catch (Exception ex) { CustomMessageBox.Show("Failed to change setting " + ex.Message); return; } } }
void ProcessItem(configitem item) { try { if (!MainV2.comPort.MAV.param.ContainsKey(item.paramname)) { return; } float value = (float)MainV2.comPort.MAV.param[item.paramname]; if (value < item.min) { item.min = value; } if (value > item.max) { item.max = value; } string range = ParameterMetaDataRepository.GetParameterMetaData(item.paramname, ParameterMetaDataConstants.Range, MainV2.comPort.MAV.cs.firmware.ToString()); string increment = ParameterMetaDataRepository.GetParameterMetaData(item.paramname, ParameterMetaDataConstants.Increment, MainV2.comPort.MAV.cs.firmware.ToString()); string[] rangeopt = range.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (rangeopt.Length > 1) { item.min = float.Parse(rangeopt[0], System.Globalization.CultureInfo.InvariantCulture); item.max = float.Parse(rangeopt[1], System.Globalization.CultureInfo.InvariantCulture); } float incrementf = 0.01f; if (increment.Length > 0) { float.TryParse(increment, NumberStyles.Float, CultureInfo.InvariantCulture, out incrementf); } Controls.RangeControl RNG = new Controls.RangeControl(item.paramname, item.desc, item.title, incrementf, 1, item.min, item.max, value.ToString()); RNG.Tag = item; RNG.Location = new Point(10, y); RNG.AttachEvents(); RNG.ValueChanged += RNG_ValueChanged; ThemeManager.ApplyThemeTo(RNG); panel1.Controls.Add(RNG); y += RNG.Height; } catch (Exception ex) { CustomMessageBox.Show("Failed to process " + item.paramname + "\n" + ex.ToString()); } }
void ProcessItem(configitem item) { try { float value = (float)MainV2.comPort.MAV.param[item.paramname]; if (value < item.min) item.min = value; if (value > item.max) item.max = value; string range = ParameterMetaDataRepository.GetParameterMetaData(item.paramname, ParameterMetaDataConstants.Range); string increment = ParameterMetaDataRepository.GetParameterMetaData(item.paramname, ParameterMetaDataConstants.Increment); string[] rangeopt = range.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (rangeopt.Length > 1) { item.min = float.Parse(rangeopt[0], System.Globalization.CultureInfo.InvariantCulture); item.max = float.Parse(rangeopt[1], System.Globalization.CultureInfo.InvariantCulture); } float incrementf = 0.01f; if (increment.Length > 0) float.TryParse(increment,NumberStyles.Float, CultureInfo.InvariantCulture, out incrementf); Controls.RangeControl RNG = new Controls.RangeControl(item.paramname, item.desc, item.title, incrementf, 1, item.min, item.max, value.ToString()); RNG.Tag = item; RNG.Location = new Point(10, y); RNG.AttachEvents(); RNG.ValueChanged += RNG_ValueChanged; ThemeManager.ApplyThemeTo(RNG); panel1.Controls.Add(RNG); y += RNG.Height; } catch (Exception ex) { CustomMessageBox.Show("Failed to process " + item.paramname + "\n" + ex.ToString()); } }