diff --git a/_locales/en/messages.json b/_locales/en/messages.json index c5f6746f..84568984 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1182,6 +1182,12 @@ "pidTuningYawRate": { "message": "YAW rate" }, + "pidTuningRollAndPitchExpo": { + "message": "Roll & Pitch Expo" + }, + "pidTuningYawExpo" : { + "message": "Yaw Expo" + }, "pidTuningMaxRollAngle": { "message": "Max. ROLL angle" }, @@ -1204,7 +1210,7 @@ "message": "Manual YAW rate" }, "magHoldYawRate": { - "message": "MagHold rate" + "message": "Heading Hold rate limit" }, "pidTuningMagHoldYawRateHelp": { "message": "Maximum YAW rotation rate that MagHold controller can request from UAV. Used only when MagHold mode is enabled, during RTH and WAYPOINT navigation. Values below 30dps gives nice \"cinematic\" turns" diff --git a/js/settings.js b/js/settings.js index bd749d3a..653c5507 100644 --- a/js/settings.js +++ b/js/settings.js @@ -162,6 +162,10 @@ var Settings = (function () { // Angles 'deg' : '°', 'decideg' : 'deci°', + 'decideg-lrg' : 'deci°', // Decidegrees, but always converted to degrees by default + // Rotational speed + 'degps' : '° per second', + 'decadegps' : 'deca° per second', // Temperature 'decidegc' : 'deci°C', 'degc' : '°C', @@ -229,6 +233,12 @@ var Settings = (function () { 'decideg' : { 'deg' : 10 }, + 'decideg-lrg' : { + 'deg' : 10 + }, + 'decadegps' : { + 'degps' : 0.1 + }, 'decidegc' : { 'degc' : 10, 'degf' : 'FAHREN' @@ -245,7 +255,9 @@ var Settings = (function () { 'v-cms' : 'fts', 'msec' : 'sec', 'dsec' : 'sec', + 'decadegps' : 'degps', 'decideg' : 'deg', + 'decideg-lrg' : 'deg', 'decidegc' : 'degf', }, 1: { //metric @@ -256,7 +268,9 @@ var Settings = (function () { 'v-cms' : 'ms', 'msec' : 'sec', 'dsec' : 'sec', + 'decadegps' : 'degps', 'decideg' : 'deg', + 'decideg-lrg' : 'deg', 'decidegc' : 'degc', }, 2: { //metric with MPH @@ -265,7 +279,9 @@ var Settings = (function () { 'm-lrg' : 'km', 'cms' : 'mph', 'v-cms' : 'ms', + 'decadegps' : 'degps', 'decideg' : 'deg', + 'decideg-lrg' : 'deg', 'msec' : 'sec', 'dsec' : 'sec', 'decidegc' : 'degc', @@ -276,7 +292,9 @@ var Settings = (function () { 'm-lrg' : 'mi', 'cms' : 'mph', 'v-cms' : 'fts', + 'decadegps' : 'degpd', 'decideg' : 'deg', + 'decideg-lrg' : 'deg', 'msec' : 'sec', 'dsec' : 'sec', 'decidegc' : 'degc', @@ -287,18 +305,25 @@ var Settings = (function () { 'm-lrg' : 'nm', 'cms': 'kt', 'v-cms' : 'hftmin', + 'decadegps' : 'degps', 'decideg' : 'deg', + 'decideg-lrg' : 'deg', 'msec' : 'sec', 'dsec' : 'sec', 'decidegc' : 'degc', }, - default:{}//show base units + default: { //show base units + 'decadegps' : 'degps', + 'decideg-lrg' : 'deg', + } }; //this returns the factor in which to multiply to convert a unit const getUnitMultiplier = () => { - if (conversionTable[uiUnitValue]){ - const fromUnits = conversionTable[uiUnitValue]; + let uiUnits = (uiUnitValue != -1) ? uiUnitValue : 'default'; + + if (conversionTable[uiUnits]){ + const fromUnits = conversionTable[uiUnits]; if (fromUnits[inputUnit]){ const multiplier = unitRatioTable[inputUnit][fromUnits[inputUnit]]; return {'multiplier':multiplier, 'unitName':fromUnits[inputUnit]}; @@ -315,10 +340,16 @@ var Settings = (function () { // Update the step, min, and max; as we have the multiplier here. if (element.attr('type') == 'number') { - element.attr('step', ((multiplier != 1) ? '0.01' : '1')); + let decimalPlaces = 0; + if (multiplier > 1) { + element.attr('step', '0.01'); + decimalPlaces = 2; + } else { + element.attr('step', (multiplier < 1) ? (multiplier * 100).toFixed(0) : '1'); + } if (multiplier != 'FAHREN') { - element.attr('min', (element.attr('min') / multiplier).toFixed(2)); - element.attr('max', (element.attr('max') / multiplier).toFixed(2)); + element.attr('min', (element.attr('min') / multiplier).toFixed(decimalPlaces)); + element.attr('max', (element.attr('max') / multiplier).toFixed(decimalPlaces)); } } diff --git a/main.css b/main.css index 704f7fe6..3216f1d9 100644 --- a/main.css +++ b/main.css @@ -2232,7 +2232,9 @@ ol li { /* Position the unit to the right of the wrapper */ .unit_wrapper::after { position: absolute; - top: 2px; + /*top: 2px;*/ + bottom: -2px; + height: 100%; right: .5em; transition: all .05s ease-in-out; } diff --git a/src/css/tabs/pid_tuning.css b/src/css/tabs/pid_tuning.css index 98e9c937..07a75256 100644 --- a/src/css/tabs/pid_tuning.css +++ b/src/css/tabs/pid_tuning.css @@ -1,11 +1,14 @@ .rate-tpa_input { - margin: 4px; - width: 5em; + width: 150px; + height: 20px; + line-height: 20px; border: 1px solid silver; border-radius: 3px; + padding-left: 3px; + text-align: left; + font-size: 12px; + font-weight: normal; display: inline-block; - line-height: 20px; - text-align: right; } .settings-table.settings-table--inav td, @@ -75,6 +78,16 @@ border-top-right-radius: 5px; } +.settings-table tr:last-child th { + border-bottom-left-radius: 5px; + border-bottom: none; +} + +.settings-table tr:last-child td { + border-bottom-right-radius: 5px; + border-bottom: none; +} + .settings-table { /*border: 0px solid #ccc; */ margin-bottom: 10px; @@ -294,6 +307,12 @@ border-bottom: 0; } +.tab-pid_tuning .rates_number { + clear: left; + padding: 4px; + float: left; +} + .tab-pid_tuning .number input { width: 50px; padding-left: 3px; diff --git a/tabs/pid_tuning.html b/tabs/pid_tuning.html index e251886b..a4e7d4c8 100755 --- a/tabs/pid_tuning.html +++ b/tabs/pid_tuning.html @@ -178,72 +178,70 @@