public void Activate() { if (!MainV2.comPort.BaseStream.IsOpen) { Enabled = false; return; } if (MainV2.comPort.MAV.cs.firmware == Firmwares.ArduRover) { Enabled = true; } else { Enabled = false; return; } startup = true; CH7_OPTION.setup(new[] { "CH7_OPTION", "RC7_OPTION" }, MainV2.comPort.MAV.param); CH8_OPTION.setup(new[] { "CH8_OPTION", "RC8_OPTION" }, MainV2.comPort.MAV.param); CH9_OPTION.setup(new[] { "CH9_OPTION", "RC9_OPTION" }, MainV2.comPort.MAV.param); CH10_OPTION.setup(new[] { "CH10_OPTION", "RC10_OPTION" }, MainV2.comPort.MAV.param); ATC_BRAKE.setup(new[] { "ATC_BRAKE" }, MainV2.comPort.MAV.param); MOT_PWM_TYPE.setup(new[] { "MOT_PWM_TYPE" }, MainV2.comPort.MAV.param); STEER2SRV_P.setup(0, 0, 1, 0.1f, new[] { "STEER2SRV_P", "ATC_STR_RAT_P" }, MainV2.comPort.MAV.param); STEER2SRV_I.setup(0, 0, 1, 0.1f, new[] { "STEER2SRV_I", "ATC_STR_RAT_I" }, MainV2.comPort.MAV.param); STEER2SRV_D.setup(0, 0, 1, 0.1f, new[] { "STEER2SRV_D", "ATC_STR_RAT_D" }, MainV2.comPort.MAV.param); STEER2SRV_IMAX.setup(0, 0, 1, 0.1f, new[] { "STEER2SRV_IMAX", "ATC_STR_RAT_IMAX" }, MainV2.comPort.MAV.param); ATC_STR_RAT_FF.setup(0, 100, 1, 0.1f, "ATC_STR_RAT_FF", MainV2.comPort.MAV.param); TURN_RADIUS.setup(0, 0, 1, 0.1f, "TURN_RADIUS", MainV2.comPort.MAV.param); SPEED2THR_P.setup(0, 0, 1, 0.1f, new[] { "SPEED2THR_P", "ATC_SPEED_P" }, MainV2.comPort.MAV.param); SPEED2THR_I.setup(0, 0, 1, 0.1f, new[] { "SPEED2THR_I", "ATC_SPEED_I" }, MainV2.comPort.MAV.param); SPEED2THR_D.setup(0, 0, 1, 0.1f, new[] { "SPEED2THR_D", "ATC_SPEED_D" }, MainV2.comPort.MAV.param); SPEED2THR_IMAX.setup(0, 0, 1, 0.1f, new[] { "SPEED2THR_IMAX", "ATC_SPEED_IMAX" }, MainV2.comPort.MAV.param); ATC_ACCEL_MAX.setup(0, 0, 1, 0.1f, "ATC_ACCEL_MAX", MainV2.comPort.MAV.param); WP_SPEED.setup(0, 100, 1, 0.1f, "WP_SPEED", MainV2.comPort.MAV.param); CRUISE_SPEED.setup(0, 0, 1, 0.1f, "CRUISE_SPEED", MainV2.comPort.MAV.param); CRUISE_THROTTLE.setup(0, 0, 1, 1, "CRUISE_THROTTLE", MainV2.comPort.MAV.param); THR_MIN.setup(0, 0, 1, 1, new[] { "THR_MIN", "MOT_THR_MIN" }, MainV2.comPort.MAV.param); THR_MAX.setup(0, 0, 1, 1, new[] { "THR_MAX", "MOT_THR_MAX" }, MainV2.comPort.MAV.param); WP_RADIUS.setup(0, 0, 1, 0.1f, "WP_RADIUS", MainV2.comPort.MAV.param); WP_OVERSHOOT.setup(0, 0, 1, 0.1f, "WP_OVERSHOOT", MainV2.comPort.MAV.param); TURN_G_MAX.setup(0, 0, 1, 0.1f, "TURN_MAX_G", MainV2.comPort.MAV.param); NAVL1_PERIOD.setup(0, 0, 1, 1, "NAVL1_PERIOD", MainV2.comPort.MAV.param); NAVL1_DAMPING.setup(0, 0, 1, 0.05f, "NAVL1_DAMPING", MainV2.comPort.MAV.param); SONAR_TRIGGER_CM.setup(0, 0, 1, 1, new[] { "SONAR_TRIGGER_CM", "RNGFND_TRIGGR_CM" }, MainV2.comPort.MAV.param); SONAR_TURN_ANGLE.setup(0, 0, 1, 1, new[] { "SONAR_TURN_ANGLE", "RNGFND_TURN_ANGL" }, MainV2.comPort.MAV.param); SONAR_TURN_TIME.setup(0, 0, 1, 1, new[] { "SONAR_TURN_TIME", "RNGFND_TURN_TIME" }, MainV2.comPort.MAV.param); SONAR_DEBOUNCE.setup(0, 0, 1, 1, new[] { "SONAR_DEBOUNCE", "RNGFND_DEBOUNCE" }, MainV2.comPort.MAV.param); changes.Clear(); // add tooltips to all controls foreach (Control control1 in Controls) { foreach (Control control2 in control1.Controls) { if (control2 is MavlinkNumericUpDown) { var ParamName = ((MavlinkNumericUpDown)control2).ParamName; toolTip1.SetToolTip(control2, ParameterMetaDataRepository.GetParameterMetaData(ParamName, ParameterMetaDataConstants.Description, MainV2.comPort.MAV.cs.firmware.ToString())); } if (control2 is MavlinkComboBox) { var ParamName = ((MavlinkComboBox)control2).ParamName; toolTip1.SetToolTip(control2, ParameterMetaDataRepository.GetParameterMetaData(ParamName, ParameterMetaDataConstants.Description, MainV2.comPort.MAV.cs.firmware.ToString())); } } } startup = false; }