diff --git a/locales/en/messages.json b/locales/en/messages.json index 45a6b5fb..b025e9a5 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -1979,12 +1979,24 @@ "pidTuningRcExpo": { "message": "RC Expo" }, + "pidTuningTPAMode": { + "message": "TPA Mode" + }, "pidTuningTPA": { "message": "TPA" }, + "pidTuningTPARate": { + "message": "TPA Rate" + }, "pidTuningTPABreakPoint": { "message": "TPA Breakpoint" }, + "pidTuningTPAPD": { + "message": "PD" + }, + "pidTuningTPAD": { + "message": "D" + }, "pidTuningThrottleCurvePreview": { "message": "Throttle Curve Preview" }, diff --git a/src/js/msp/MSPHelper.js b/src/js/msp/MSPHelper.js index 19387bfa..89fe4e15 100644 --- a/src/js/msp/MSPHelper.js +++ b/src/js/msp/MSPHelper.js @@ -1290,6 +1290,7 @@ MspHelper.prototype.process_data = function(dataHandler) { FC.ADVANCED_TUNING.thrustLinearization = data.readU8(); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { + FC.ADVANCED_TUNING.tpaMode = data.readU8(); FC.ADVANCED_TUNING.tpaRate = parseFloat((data.readU8() / 100).toFixed(2)); FC.ADVANCED_TUNING.tpaBreakpoint = data.readU16(); } @@ -2316,6 +2317,7 @@ MspHelper.prototype.crunch = function(code, modifierCode = undefined) { .push8(FC.ADVANCED_TUNING.thrustLinearization); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { + buffer.push8(FC.ADVANCED_TUNING.tpaMode); buffer.push8(Math.round(FC.ADVANCED_TUNING.tpaRate * 100)); buffer.push16(FC.ADVANCED_TUNING.tpaBreakpoint); } diff --git a/src/js/tabs/pid_tuning.js b/src/js/tabs/pid_tuning.js index befff4e1..7ba7d32d 100644 --- a/src/js/tabs/pid_tuning.js +++ b/src/js/tabs/pid_tuning.js @@ -111,6 +111,7 @@ pid_tuning.initialize = function (callback) { if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { // Moved tpa to profile + $('select[id="tpaMode"]').val(FC.ADVANCED_TUNING.tpaMode); $('input[id="tpaRate"]').val(FC.ADVANCED_TUNING.tpaRate.toFixed(2)); $('input[id="tpaBreakpoint"]').val(FC.ADVANCED_TUNING.tpaBreakpoint); } else { @@ -1186,6 +1187,7 @@ pid_tuning.initialize = function (callback) { FC.RC_TUNING.throttle_EXPO = parseFloat($('.throttle input[name="expo"]').val()); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { + FC.ADVANCED_TUNING.tpaMode = $('select[id="tpaMode"]').val(); FC.ADVANCED_TUNING.tpaRate = parseFloat($('input[id="tpaRate"]').val()); FC.ADVANCED_TUNING.tpaBreakpoint = parseInt($('input[id="tpaBreakpoint"]').val()); } else { diff --git a/src/tabs/pid_tuning.html b/src/tabs/pid_tuning.html index e2e4a8de..6256b7d9 100644 --- a/src/tabs/pid_tuning.html +++ b/src/tabs/pid_tuning.html @@ -817,12 +817,19 @@
- + +
+