private void UpdateValues(DroneSettings settings) { try { this.settings = settings; SuspendLayout(); rollPValue.Text = Formatting.FormatDecimal(settings.RollPid.Kp, 3); rollIValue.Text = Formatting.FormatDecimal(settings.RollPid.Ki, 3); rollDValue.Text = Formatting.FormatDecimal(settings.RollPid.Kd, 3); pitchPValue.Text = Formatting.FormatDecimal(settings.PitchPid.Kp, 3); pitchIValue.Text = Formatting.FormatDecimal(settings.PitchPid.Ki, 3); pitchDValue.Text = Formatting.FormatDecimal(settings.PitchPid.Kd, 3); yawPValue.Text = Formatting.FormatDecimal(settings.YawPid.Kp, 3); yawIValue.Text = Formatting.FormatDecimal(settings.YawPid.Ki, 3); yawDValue.Text = Formatting.FormatDecimal(settings.YawPid.Kd, 3); ResumeLayout(); } catch (Exception e) { ErrorHandler.HandleException(drone, e); } }
private void UpdateValueBounds(DroneSettings settings) { changingValues = true; valueTrackBar.Minimum = settings.ServoMin; valueTrackBar.Maximum = settings.ServoMax; valueTrackBar.Value = settings.ServoMin; servoValueNumericUpDown.Value = settings.ServoMin; SetServoValueToAll(); changingValues = false; }
public SettingsForm(Drone drone) { InitializeComponent(); this.drone = drone; this.info = drone.Info; this.data = drone.Settings; Bind(nameTextBox, "data.DroneName"); Bind(saveConfigCheckBox, "data.SaveConfig"); Bind(firmwareVersionTextBox, "info.BuildVersion"); Bind(buildDateTextBox, "info.BuildName"); Bind(modelTextBox, "info.ModelName"); Bind(idTextBox, "info.SerialCode"); Bind(gyroSensorTextBox, "info.GyroSensor"); Bind(magnetometerTextBox, "info.Magnetometer"); Bind(minValueTextBox, "data.ServoMin"); Bind(idleValueTextBox, "data.ServoIdle"); Bind(hoverValueTextBox, "data.ServoHover"); Bind(maxValueTextBox, "data.ServoMax"); Bind(safeMotorValueTextBox, "data.SafeServoValue"); Bind(safeTemperatureTextBox, "data.MaxTemperature"); Bind(safePitchTextBox, "data.SafePitch"); Bind(safeRollTextBox, "data.SafeRoll"); Bind(pitchKpTextBox, "data.PitchPid.Kp"); Bind(pitchKiTextBox, "data.PitchPid.Ki"); Bind(pitchKdTextBox, "data.PitchPid.Kd"); Bind(rollKpTextBox, "data.RollPid.Kp"); Bind(rollKiTextBox, "data.RollPid.Ki"); Bind(rollKdTextBox, "data.RollPid.Kd"); Bind(yawKpTextBox, "data.YawPid.Kp"); Bind(yawKiTextBox, "data.YawPid.Ki"); Bind(yawKdTextBox, "data.YawPid.Kd"); Bind(enableStabilizationCheckBox, "data.EnableStabilization"); Bind(negativeMixingCheckBox, "data.NegativeMixing"); Bind(keepMotorsOnCheckBox, "data.KeepMotorsOn"); Bind(maxThrustForFlyingTextBox, "data.MaxThrustForFlying"); Bind(onlyArmWhenStillCheckBox, "data.OnlyArmWhenStill"); Bind(gyroUseDmpCheckBox, "data.GyroUseDMP"); Bind(gyroUseRawCheckBox, "data.GyroUseRaw"); Bind(engineUseGyroCheckBox, "data.EngineUseGyro"); drone.OnSettingsChange += Drone_OnSettingsChange; drone.OnInfoChange += Drone_OnInfoChange; }
/// <summary> /// Applys the settings to the connected drone. /// </summary> private void Apply(bool force) { // Only send config when settings were changed by user if (force || IsAnyBindingChanged()) { drone.SendConfig(data); originalData = data; } ClearChangedByUser(); }
private void droneSettingsPropertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { try { DroneSettings settings = (DroneSettings)droneSettingsPropertyGrid.SelectedObject; drone.SendConfig(settings); } catch (Exception ex) { Log.Error(ex); MessageBox.Show(ex.Message, "Error setting settings", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void UpdateValueBounds(DroneSettings settings) { changingValues = true; int min = drone.Settings.ServoMin; int max = Math.Min(drone.Settings.ServoMax, drone.Settings.SafeServoValue); valueTrackBar.Minimum = min; valueTrackBar.Maximum = max; valueTrackBar.Value = Math.Min(max, min); servoValueNumericUpDown.Value = min; SetServoValueToAll(); changingValues = false; }
public PacketSetConfig(DroneSettings settings) { this.Settings = settings; }
private void UpdateSettings(DroneSettings settings) { servoGraph.BaseLine = settings.ServoIdle; servoGraph.ValueMin = 0; servoGraph.ValueMax = settings.ServoMax; }
private void UpdateSettings(DroneSettings settings) { droneSettingsPropertyGrid.SelectedObject = settings; }
private void Drone_OnSettingsChange(object sender, SettingsChangedEventArgs e) { data = e.Settings; UpdateValues(); }
public SettingsForm(Drone drone) { InitializeComponent(); this.drone = drone; this.info = drone.Info; this.originalData = drone.Settings; this.data = drone.Settings; try { Bind(nameTextBox, "data.DroneName"); Bind(saveConfigCheckBox, "data.SaveConfig"); Bind(firmwareVersionTextBox, "info.BuildVersion"); Bind(buildDateTextBox, "info.BuildName"); Bind(modelTextBox, "info.ModelName"); Bind(idTextBox, "info.SerialCode"); Bind(gyroSensorTextBox, "info.GyroSensor"); Bind(magnetometerTextBox, "info.Magnetometer"); Bind(baroSensorTextBox, "info.BaroSensor"); Bind(minValueTextBox, "data.ServoMin"); Bind(idleValueTextBox, "data.ServoIdle"); Bind(maxValueTextBox, "data.ServoMax"); Bind(safeMotorValueTextBox, "data.SafeServoValue"); Bind(ignoreSafeOrientationCheckBox, "data.IgnoreSafeOrientationWhileFlying"); Bind(safeTemperatureTextBox, "data.MaxTemperature"); Bind(safeRollTextBox, "data.SafeRoll"); Bind(safePitchTextBox, "data.SafePitch"); Bind(rollKpTextBox, "data.RollPid.Kp"); Bind(rollKiTextBox, "data.RollPid.Ki"); Bind(rollKdTextBox, "data.RollPid.Kd"); Bind(pitchKpTextBox, "data.PitchPid.Kp"); Bind(pitchKiTextBox, "data.PitchPid.Ki"); Bind(pitchKdTextBox, "data.PitchPid.Kd"); Bind(yawKpTextBox, "data.YawPid.Kp"); Bind(yawKiTextBox, "data.YawPid.Ki"); Bind(yawKdTextBox, "data.YawPid.Kd"); Bind(enableStabilizationCheckBox, "data.EnableStabilization"); Bind(maxThrustForFlyingTextBox, "data.MaxThrustForFlying"); Bind(ignoreSafeOrientationCheckBox, "data.OnlyArmWhenStill"); Bind(angleRollKpTextBox, "data.AngleRoll.Kp"); Bind(angleRollKiTextBox, "data.AngleRoll.Ki"); Bind(angleRollKdTextBox, "data.AngleRoll.Kd"); Bind(anglePitchKpTextBox, "data.AnglePitch.Kp"); Bind(anglePitchKiTextBox, "data.AnglePitch.Ki"); Bind(anglePitchKdTextBox, "data.AnglePitch.Kd"); Bind(angleYawKpTextBox, "data.AngleYaw.Kp"); Bind(angleYawKiTextBox, "data.AngleYaw.Ki"); Bind(angleYawKdTextBox, "data.AngleYaw.Kd"); Bind(rollTrim, "data.RollTrim"); Bind(pitchTrim, "data.PitchTrim"); Bind(yawTrim, "data.YawTrim"); drone.OnSettingsChange += Drone_OnSettingsChange; drone.OnInfoChange += Drone_OnInfoChange; } catch (Exception e) { bindingError = true; Log.Error(e); MessageBox.Show("Could not load the settings.", "Error while loading settings", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Reverts all settings to the original settings saved on the drone. /// </summary> private void Revert() { data = originalData; ClearChangedByUser(); UpdateValues(); }