Commit 15dea6b6 authored by Darren Lines's avatar Darren Lines
Browse files

Reconfigured Advanced Tuning

The Advanced Tuning page has been reconfigured. It now will show only relevant settings based on the platform. Fixed Wing and Multirotor have their own top sections. Other platforms see both those sections as a fall-back, The bottom section (generic) is visible for all platforms. There is no replication on any views.

I have also updated the code to use the new data-setting method. Though this seems to have added some lag in loading times.
parent 9d74c1db
......@@ -2363,13 +2363,16 @@
"message": "Programming"
},
"tabAdvancedTuning": {
"message": "Advanced tuning"
"message": "Advanced Tuning"
},
"advancedTuningSave": {
"message": "Save and Reboot"
},
"tabAdvancedTuningTitle": {
"message": "Advanced tuning"
"message": "Advanced Tuning"
},
"tabAdvancedTuningGenericTitle": {
"message": "Advanced Tuning: Generic settings"
},
"presetApplyHead": {
"message": "Applies following settings:"
......@@ -2549,19 +2552,31 @@
"message": "Max. throttle"
},
"maxBankAngle": {
"message": "Max. bank angle [degrees]"
"message": "Max. navigation bank angle [degrees]"
},
"maxBankAngleHelp": {
"message": "Maximum banking angle in navigation modes. Constrained by maximum ROLL angle in PID tuning tab."
},
"maxClimbAngle": {
"message": "Max. climb angle [degrees]"
"message": "Max. navigation climb angle [degrees]"
},
"maxClimbAngleHelp": {
"message": "Maximum climb angle in navigation modes. Constrained by maximum PITCH angle in PID tuning tab."
},
"navManualClimbRate": {
"message": "Max. Alt-hold climb rate [cm/s]"
},
"navManualClimbRateHelp": {
"message": "Maximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s]"
},
"navAutoClimbRate": {
"message": "Max. navigation climb rate [cm/s]"
},
"navAutoClimbRateHelp": {
"message": "Maximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s]"
},
"maxDiveAngle": {
"message": "Max. dive angle [degrees]"
"message": "Max. navigation dive angle [degrees]"
},
"maxDiveAngleHelp": {
"message": "Maximum dive angle in navigation modes. Constrained by maximum PITCH angle in PID tuning tab."
......@@ -2599,6 +2614,36 @@
"controlSmoothnessHelp": {
"message": "How smoothly the autopilot controls the airplane to correct the navigation error [0-9]."
},
"powerConfiguration": {
"message": "Battery Estimation Settings"
},
"idlePower": {
"message": "Idle power [cW]"
},
"idlePowerHelp": {
"message": "Power draw at zero throttle used for remaining flight time/distance estimation in 0.01W unit"
},
"cruisePower": {
"message": "Cruise power [cW]"
},
"cruisePowerHelp": {
"message": "Power draw at cruise throttle used for remaining flight time/distance estimation in 0.01W unit"
},
"cruiseSpeed": {
"message": "Cruise speed [cm/s]"
},
"cruiseSpeedHelp": {
"message": "Speed for the plane/wing at cruise throttle used for remaining flight time/distance estimation in cm/s"
},
"rthEnergyMargin": {
"message": "RTH energy margin [%]"
},
"rthEnergyMarginHelp": {
"message": "Energy margin wanted after getting home (percent of battery energy capacity). Use for the remaining flight time/distance calculation."
},
"generalNavigationSettings": {
"message": "General Navigation Settings"
},
"waypointConfiguration": {
"message": "Waypoint Navigation Settings"
},
......
......@@ -67,6 +67,12 @@ var CONFIG,
var FC = {
MAX_SERVO_RATE: 125,
MIN_SERVO_RATE: 0,
isAirplane: function () {
return (MIXER_CONFIG.platformType == PLATFORM_AIRPLANE);
},
isMultirotor: function () {
return (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER);
},
isRpyFfComponentUsed: function () {
return (MIXER_CONFIG.platformType == PLATFORM_AIRPLANE || MIXER_CONFIG.platformType == PLATFORM_ROVER || MIXER_CONFIG.platformType == PLATFORM_BOAT) || ((MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER) && semver.gte(CONFIG.flightControllerVersion, "2.6.0"));
},
......@@ -74,7 +80,7 @@ var FC = {
return true; // Currently all platforms use D term
},
isCdComponentUsed: function () {
return MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER;
return (MIXER_CONFIG.platformType == PLATFORM_MULTIROTOR || MIXER_CONFIG.platformType == PLATFORM_TRICOPTER);
},
resetState: function () {
SENSOR_STATUS = {
......
<div class="tab-configuration tab-advanced-tuning toolbar_fixed_bottom">
<div class="content_wrapper">
<div class="tab_title" data-i18n="tabAdvancedTuningTitle">Advanced tuning</div>
<div class="leftWrapper">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="fixedWingNavigationConfiguration"></div>
</div>
<div class="spacer_box">
<div class="number">
<input id="cruiseThrottle" type="number" data-simple-bind="FW_CONFIG.cruiseThrottle" step="1" min="1000" max="2000">
<label for="cruiseThrottle">
<span data-i18n="cruiseThrottle"></span>
</label>
</div>
<div class="number">
<input type="number" id="cruiseYawRate" data-setting="nav_fw_cruise_yaw_rate" data-setting-multiplier="1" step="1" min="0" max="60" />
<label for="cruiseYawRate">
<span data-i18n="cruiseYawRateLabel"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="cruiseYawRateHelp"></div>
<div class="tab_title"><span data-i18n="tabAdvancedTuningTitle">Advanced Tuning</span><span class="airplaneTuning">: Fixed Wing</span><span class="multirotorTuning">: Multirotors</span></div>
<!-- Airplane Advanced Tuning-->
<div class="airplaneTuning">
<div class="leftWrapper">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationLaunch"></div>
</div>
<div class="spacer_box settings">
<div class="number">
<input type="number" id="launchIdleThr" data-setting="nav_fw_launch_idle_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchIdleThr"><span data-i18n="configurationLaunchIdleThr"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchIdleThrHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMaxAngle" data-setting="nav_fw_launch_max_angle" data-setting-multiplier="1" step="1" min="5" max="180" />
<label for="launchMaxAngle"><span data-i18n="configurationLaunchMaxAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMaxAngleHelp"></div>
</div>
<div class="number">
<input type="number" id="launchVelocity" data-setting="nav_fw_launch_velocity" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchVelocity"><span data-i18n="configurationLaunchVelocity"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchVelocityHelp"></div>
</div>
<div class="number">
<input type="number" id="launchAccel" data-setting="nav_fw_launch_accel" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchAccel"><span data-i18n="configurationLaunchAccel"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchAccelHelp"></div>
</div>
<div class="number">
<input type="number" id="launchDetectTime" data-setting="nav_fw_launch_detect_time" data-setting-multiplier="1" step="1" min="10" max="1000" />
<label for="launchDetectTime"><span data-i18n="configurationLaunchDetectTime"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchDetectTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMotorDelay" data-setting="nav_fw_launch_motor_delay" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="launchMotorDelay"><span data-i18n="configurationLaunchMotorDelay"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMotorDelayHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMinTime" data-setting="nav_fw_launch_min_time" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchMinTime"><span data-i18n="configurationLaunchMinTime"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMinTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchSpinupTime" data-setting="nav_fw_launch_spinup_time" data-setting-multiplier="1" step="1" min="0" max="1000" />
<label for="launchSpinupTime"><span data-i18n="configurationLaunchSpinupTime"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchSpinupTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchThr" data-setting="nav_fw_launch_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchThr"><span data-i18n="configurationLaunchThr"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchThrHelp"></div>
</div>
<div class="number">
<input type="number" id="launchClimbAngle" data-setting="nav_fw_launch_climb_angle" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchClimbAngle"><span data-i18n="configurationLaunchClimbAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchClimbAngleHelp"></div>
</div>
<div class="number">
<input type="number" id="launchTimeout" data-setting="nav_fw_launch_timeout" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchTimeout"><span data-i18n="configurationLaunchTimeout"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchTimeoutHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMaxAltitude" data-setting="nav_fw_launch_max_altitude" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchMaxAltitude"><span data-i18n="configurationLaunchMaxAltitude"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMaxAltitudeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchEndTime" data-setting="nav_fw_launch_end_time" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="launchEndTime"><span data-i18n="configurationLaunchEndTime"></span></label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchEndTimeHelp"></div>
</div>
</div>
</div>
<div class="checkbox">
<input type="checkbox" class="toggle update_preview" id="cruiseManualThrottle" data-setting="nav_fw_allow_manual_thr_increase" data-live="true" />
<label for="cruiseManualThrottle">
<span data-i18n="cruiseManualThrottleLabel"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="cruiseManualThrottleHelp"></div>
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="powerConfiguration"></div>
</div>
<div class="number">
<input id="minThrottle" type="number" data-simple-bind="FW_CONFIG.minThrottle" step="1" min="1000" max="2000">
<label for="minThrottle">
<span data-i18n="minThrottle"></span>
</label>
<div class="spacer_box">
<div class="number">
<input type="number" id="idlePower" data-setting="idle_power" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="idlePower"><span data-i18n="idlePower"></span></label>
<div class="helpicon cf_tip" data-i18n_title="idlePowerHelp"></div>
</div>
<div class="number">
<input type="number" id="cruisePower" data-setting="cruise_power" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="cruisePower"><span data-i18n="cruisePower"></span></label>
<div class="helpicon cf_tip" data-i18n_title="cruisePowerHelp"></div>
</div>
<div class="number">
<input type="number" id="cruiseSpeed" data-setting="nav_fw_cruise_speed" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="cruiseSpeed"><span data-i18n="cruiseSpeed"></span></label>
<div class="helpicon cf_tip" data-i18n_title="cruiseSpeedHelp"></div>
</div>
<div class="number">
<input type="number" id="rthEnergyMargin" data-setting="rth_energy_margin" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="rthEnergyMargin"><span data-i18n="rthEnergyMargin"></span></label>
<div class="helpicon cf_tip" data-i18n_title="rthEnergyMarginHelp"></div>
</div>
</div>
</div>
<div class="number">
<input id="maxThrottle" type="number" data-simple-bind="FW_CONFIG.maxThrottle" step="1" min="1000" max="2000">
<label for="maxThrottle">
<span data-i18n="maxThrottle"></span>
</label>
</div>
</div> <!-- left wrapper -->
<div class="number">
<input id="maxBankAngle" type="number" data-simple-bind="FW_CONFIG.maxBankAngle" step="1" min="5" max="80">
<label for="maxBankAngle">
<span data-i18n="maxBankAngle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="maxBankAngleHelp"></div>
<div class="rightWrapper">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="fixedWingNavigationConfiguration"></div>
</div>
<div class="spacer_box">
<div class="number">
<input id="cruiseThrottle" type="number" data-setting="nav_fw_cruise_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="cruiseThrottle"><span data-i18n="cruiseThrottle"></span></label>
</div>
<div class="number">
<input id="maxClimbAngle" type="number" data-simple-bind="FW_CONFIG.maxClimbAngle" step="1" min="5" max="80">
<label for="maxClimbAngle">
<span data-i18n="maxClimbAngle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="maxClimbAngleHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottle" type="number" data-setting="nav_fw_pitch2thr" data-setting-multiplier="1" step="1" min="0" max="100" />
<label for="pitchToThrottle"><span data-i18n="pitchToThrottle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleHelp"></div>
</div>
<div class="number">
<input id="maxDiveAngle" type="number" data-simple-bind="FW_CONFIG.maxDiveAngle" step="1" min="5" max="80">
<label for="maxDiveAngle">
<span data-i18n="maxDiveAngle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="maxDiveAngleHelp"></div>
</div>
<div class="checkbox">
<input type="checkbox" class="toggle update_preview" id="cruiseManualThrottle" data-setting="nav_fw_allow_manual_thr_increase" data-live="true" />
<label for="cruiseManualThrottle"><span data-i18n="cruiseManualThrottleLabel"></span></label>
<div class="helpicon cf_tip" data-i18n_title="cruiseManualThrottleHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottle" type="number" data-simple-bind="FW_CONFIG.pitchToThrottle" step="1" min="0" max="100">
<label for="pitchToThrottle">
<span data-i18n="pitchToThrottle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottleSmoothing" type="number" data-setting="nav_fw_pitch2thr_smoothing" data-setting-multiplier="1" step="0" min="0" max="9">
<label for="pitchToThrottleSmoothing">
<span data-i18n="pitchToThrottleSmoothing"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleSmoothingHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottleThreshold" type="number" data-setting="nav_fw_pitch2thr_threshold" data-setting-multiplier="1" step="1" min="0" max="900">
<label for="pitchToThrottleThreshold">
<span data-i18n="pitchToThrottleThreshold"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleThresholdHelp"></div>
</div>
<div class="number">
<input id="minThrottle" type="number" data-setting="nav_fw_min_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="minThrottle"><span data-i18n="minThrottle"></span></label>
</div>
<div class="number">
<input id="loiterRadius" type="number" data-simple-bind="FW_CONFIG.loiterRadius" step="1" min="0" max="10000">
<label for="loiterRadius">
<span data-i18n="loiterRadius"></span>
</label>
</div>
<div class="number">
<input id="maxThrottle" type="number" data-setting="nav_fw_max_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="maxThrottle"><span data-i18n="maxThrottle"></span></label>
</div>
<div class="select">
<select id="loiterDirection" data-setting="fw_loiter_direction"></select>
<label for="loiterDirection">
<span data-i18n="loiterDirectionLabel"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="loiterDirectionHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottleSmoothing" type="number" data-setting="nav_fw_pitch2thr_smoothing" data-setting-multiplier="1" step="0" min="0" max="9" />
<label for="pitchToThrottleSmoothing"><span data-i18n="pitchToThrottleSmoothing"></span></label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleSmoothingHelp"></div>
</div>
<div class="number">
<input id="pitchToThrottleThreshold" type="number" data-setting="nav_fw_pitch2thr_threshold" data-setting-multiplier="1" step="1" min="0" max="900" />
<label for="pitchToThrottleThreshold"><span data-i18n="pitchToThrottleThreshold"></span></label>
<div class="helpicon cf_tip" data-i18n_title="pitchToThrottleThresholdHelp"></div>
</div>
<div class="number">
<input type="number" id="cruiseYawRate" data-setting="nav_fw_cruise_yaw_rate" data-setting-multiplier="1" step="1" min="0" max="60" />
<label for="cruiseYawRate"><span data-i18n="cruiseYawRateLabel"></span></label>
<div class="helpicon cf_tip" data-i18n_title="cruiseYawRateHelp"></div>
</div>
<div class="number">
<input id="maxBankAngle" type="number" data-setting="nav_fw_bank_angle" data-setting-multiplier="1" step="1" min="5" max="80" />
<label for="maxBankAngle"><span data-i18n="maxBankAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="maxBankAngleHelp"></div>
</div>
<div class="number">
<input id="maxClimbAngle" type="number" data-setting="nav_fw_climb_angle" data-setting-multiplier="1" step="1" min="5" max="80" />
<label for="maxClimbAngle"><span data-i18n="maxClimbAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="maxClimbAngleHelp"></div>
</div>
<div class="number">
<input type="number" id="controlSmoothness" data-setting="nav_fw_control_smoothness" data-setting-multiplier="1" step="1" min="0" max="9" />
<label for="controlSmoothness">
<span data-i18n="controlSmoothness"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="controlSmoothnessHelp"></div>
<div class="number">
<input id="maxDiveAngle" type="number" data-setting="nav_fw_dive_angle" data-setting-multiplier="1" step="1" min="5" max="80" />
<label for="maxDiveAngle"><span data-i18n="maxDiveAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="maxDiveAngleHelp"></div>
</div>
<div class="number">
<input id="loiterRadius" type="number" data-setting="nav_fw_loiter_radius" data-setting-multiplier="1" step="1" min="0" max="30000" />
<label for="loiterRadius"><span data-i18n="loiterRadius"></span></label>
</div>
<div class="select">
<select id="loiterDirection" data-setting="fw_loiter_direction"></select>
<label for="loiterDirection"><span data-i18n="loiterDirectionLabel"></span></label>
<div class="helpicon cf_tip" data-i18n_title="loiterDirectionHelp"></div>
</div>
<div class="number">
<input type="number" id="controlSmoothness" data-setting="nav_fw_control_smoothness" data-setting-multiplier="1" step="1" min="0" max="9" />
<label for="controlSmoothness"><span data-i18n="controlSmoothness"></span></label>
<div class="helpicon cf_tip" data-i18n_title="controlSmoothnessHelp"></div>
</div>
</div>
</div>
</div>
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="configurationLaunch"></div>
</div>
<div class="spacer_box settings">
<div class="number">
<input type="number" id="launchIdleThr" data-setting="nav_fw_launch_idle_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchIdleThr">
<span data-i18n="configurationLaunchIdleThr"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchIdleThrHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMaxAngle" data-setting="nav_fw_launch_max_angle" data-setting-multiplier="1" step="1" min="5" max="180" />
<label for="launchMaxAngle">
<span data-i18n="configurationLaunchMaxAngle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMaxAngleHelp"></div>
</div>
<div class="number">
<input type="number" id="launchVelocity" data-setting="nav_fw_launch_velocity" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchVelocity">
<span data-i18n="configurationLaunchVelocity"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchVelocityHelp"></div>
</div>
<div class="number">
<input type="number" id="launchAccel" data-setting="nav_fw_launch_accel" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchAccel">
<span data-i18n="configurationLaunchAccel"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchAccelHelp"></div>
</div>
<div class="number">
<input type="number" id="launchDetectTime" data-setting="nav_fw_launch_detect_time" data-setting-multiplier="1" step="1" min="10" max="1000" />
<label for="launchDetectTime">
<span data-i18n="configurationLaunchDetectTime"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchDetectTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMotorDelay" data-setting="nav_fw_launch_motor_delay" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="launchMotorDelay">
<span data-i18n="configurationLaunchMotorDelay"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMotorDelayHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMinTime" data-setting="nav_fw_launch_min_time" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchMinTime">
<span data-i18n="configurationLaunchMinTime"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMinTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchSpinupTime" data-setting="nav_fw_launch_spinup_time" data-setting-multiplier="1" step="1" min="0" max="1000" />
<label for="launchSpinupTime">
<span data-i18n="configurationLaunchSpinupTime"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchSpinupTimeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchThr" data-setting="nav_fw_launch_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="launchThr">
<span data-i18n="configurationLaunchThr"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchThrHelp"></div>
</div>
<div class="number">
<input type="number" id="launchClimbAngle" data-setting="nav_fw_launch_climb_angle" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchClimbAngle">
<span data-i18n="configurationLaunchClimbAngle"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchClimbAngleHelp"></div>
</div>
<div class="number">
<input type="number" id="launchTimeout" data-setting="nav_fw_launch_timeout" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchTimeout">
<span data-i18n="configurationLaunchTimeout"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchTimeoutHelp"></div>
</div>
<div class="number">
<input type="number" id="launchMaxAltitude" data-setting="nav_fw_launch_max_altitude" data-setting-multiplier="1" step="1" min="0" max="60000" />
<label for="launchMaxAltitude">
<span data-i18n="configurationLaunchMaxAltitude"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchMaxAltitudeHelp"></div>
</div>
<div class="number">
<input type="number" id="launchEndTime" data-setting="nav_fw_launch_end_time" data-setting-multiplier="1" step="1" min="0" max="5000" />
<label for="launchEndTime">
<span data-i18n="configurationLaunchEndTime"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="configurationLaunchEndTimeHelp"></div>
</div>
</div>
</div>
</div> <!-- right wrapper -->
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="waypointConfiguration"></div>
</div>
<div class="spacer_box">
<div class="clear-both"></div>
</div> <!-- Airplane Advanced Tuning -->
<div class="number">
<input type="number" id="waypointRadius" data-setting="nav_wp_radius" data-setting-multiplier="1" step="1" min="10" max="10000" />
<label for="waypointRadius">
<span data-i18n="waypointRadius"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="waypointRadiusHelp"></div>
<!-- Multirotor Advanced tuning -->
<div class="multirotorTuning">
<div class="leftWrapper">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="multiRotorNavigationConfiguration"></div>
</div>
<div class="number">
<input type="number" id="waypointSafeDistance" data-setting="nav_wp_safe_distance" data-setting-multiplier="1" step="1" min="0" max="65000" />
<label for="waypointSafeDistance">
<span data-i18n="waypointSafeDistance"></span>
</label>
<div class="helpicon cf_tip" data-i18n_title="waypointSafeDistanceHelp"></div>
<div class="spacer_box">
<div class="select">
<select id="user-control-mode" data-setting="nav_user_control_mode"></select>
<label for="user-control-mode"><span data-i18n="userControlMode"></span></label>
</div>
<div class="number">
<input id="max-speed" type="number" data-setting="nav_auto_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="max-speed"><span data-i18n="posholdMaxSpeed"></span></label>
</div>
<div class="number">
<input id="max-manual-speed" type="number" data-setting="nav_manual_speed" data-setting-multiplier="1" step="1" min="10" max="2000" />
<label for="max-manual-speed"><span data-i18n="posholdMaxManualSpeed"></span></label>
</div>
<div class="number">
<input id="max-bank-angle" type="number" data-setting="nav_mc_bank_angle" data-setting-multiplier="1" step="1" min="15" max="45" />
<label for="max-bank-angle"><span data-i18n="posholdMaxBankAngle"></span></label>
<div class="helpicon cf_tip" data-i18n_title="posholdMaxBankAngleHelp"></div>
</div>
<div class="checkbox">
<input type="checkbox" class="toggle update_preview" id="use-mid-throttle" data-setting="nav_use_midthr_for_althold" data-live="true" />
<label for="use-mid-throttle"><span data-i18n="posholdHoverMidThrottle"></span></label>
</div>
<div class="number">
<input id="hover-throttle" type="number" data-setting="nav_mc_hover_thr" data-setting-multiplier="1" step="1" min="1000" max="2000" />
<label for="hover-throttle"><span data-i18n="posholdHoverThrottle"></span></label>
</div>
</div>
</div>
</div>
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="positionEstimatorConfiguration"></div>
</div>
<div class="spacer_box">
<div class="note spacebottom">
<div class="note_spacer" >
<p data-i18n="positionEstimatorConfigurationDisclaimer"></p>
</div> <!-- left wrapper -->
<div class="rightWrapper">
<div class="config-section gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="multirotorBrakingConfiguration"></div>