From 4f820711bbc3e2168b949ef12cf92ccb46c08447 Mon Sep 17 00:00:00 2001 From: Marc Frank Date: Fri, 8 Nov 2024 20:02:29 +0100 Subject: [PATCH 1/5] hover point throttle curve adjustment - added input for value adjustment - added text to locales - adjusted throttle curve math to take hover point into account --- locales/ca/messages.json | 3 +++ locales/da/messages.json | 3 +++ locales/de/messages.json | 3 +++ locales/en/messages.json | 3 +++ locales/es/messages.json | 3 +++ locales/eu/messages.json | 3 +++ locales/fr/messages.json | 3 +++ locales/gl/messages.json | 3 +++ locales/it/messages.json | 3 +++ locales/ja/messages.json | 3 +++ locales/ko/messages.json | 3 +++ locales/nl/messages.json | 3 +++ locales/pl/messages.json | 3 +++ locales/pt/messages.json | 3 +++ locales/pt_BR/messages.json | 3 +++ locales/ru/messages.json | 3 +++ locales/uk/messages.json | 3 +++ locales/zh_CN/messages.json | 3 +++ locales/zh_TW/messages.json | 3 +++ src/js/tabs/pid_tuning.js | 6 +++++- src/tabs/pid_tuning.html | 2 ++ 21 files changed, 64 insertions(+), 1 deletion(-) diff --git a/locales/ca/messages.json b/locales/ca/messages.json index baa7b139e5..df07a88f80 100644 --- a/locales/ca/messages.json +++ b/locales/ca/messages.json @@ -2160,6 +2160,9 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Llindar 'Stick Low'" }, diff --git a/locales/da/messages.json b/locales/da/messages.json index cb01460b90..09a720bedc 100644 --- a/locales/da/messages.json +++ b/locales/da/messages.json @@ -2115,6 +2115,9 @@ "receiverThrottleExpo": { "message": "Gas EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Pind Lav'-tærskel" }, diff --git a/locales/de/messages.json b/locales/de/messages.json index fee92c4301..b5055e2cb7 100644 --- a/locales/de/messages.json +++ b/locales/de/messages.json @@ -2104,6 +2104,9 @@ "receiverThrottleExpo": { "message": "Gas Expo" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "\"Niedriger Stickwert\" Schwellwert" }, diff --git a/locales/en/messages.json b/locales/en/messages.json index 48fdbd6d97..dc0280c6ae 100755 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -2246,6 +2246,9 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Stick Low' Threshold" }, diff --git a/locales/es/messages.json b/locales/es/messages.json index 300c4a518d..ed93f01991 100644 --- a/locales/es/messages.json +++ b/locales/es/messages.json @@ -2152,6 +2152,9 @@ "receiverThrottleExpo": { "message": "Acelerador EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Umbral 'Palanca Baja'" }, diff --git a/locales/eu/messages.json b/locales/eu/messages.json index ba299b713c..4c4f46292c 100644 --- a/locales/eu/messages.json +++ b/locales/eu/messages.json @@ -1456,6 +1456,9 @@ "receiverThrottleExpo": { "message": "Azeleragailu EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Stick baxua' atalasea" }, diff --git a/locales/fr/messages.json b/locales/fr/messages.json index 8870a16e1f..d3272f66ca 100644 --- a/locales/fr/messages.json +++ b/locales/fr/messages.json @@ -1832,6 +1832,9 @@ "receiverThrottleExpo": { "message": "Expo gaz" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Manche en bas'" }, diff --git a/locales/gl/messages.json b/locales/gl/messages.json index dcd3601b59..acf9604882 100644 --- a/locales/gl/messages.json +++ b/locales/gl/messages.json @@ -2025,6 +2025,9 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Stick Low' Threshold" }, diff --git a/locales/it/messages.json b/locales/it/messages.json index c4134ed44a..6283c96ed0 100644 --- a/locales/it/messages.json +++ b/locales/it/messages.json @@ -2152,6 +2152,9 @@ "receiverThrottleExpo": { "message": "Esponenziale Gas" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Soglia \"Stick Giù\"" }, diff --git a/locales/ja/messages.json b/locales/ja/messages.json index 1cc6e8df76..b8a756a5e0 100644 --- a/locales/ja/messages.json +++ b/locales/ja/messages.json @@ -2152,6 +2152,9 @@ "receiverThrottleExpo": { "message": "スロットル Expo" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "スティック 低" }, diff --git a/locales/ko/messages.json b/locales/ko/messages.json index f9da83ba2e..04ea788f4a 100644 --- a/locales/ko/messages.json +++ b/locales/ko/messages.json @@ -2150,6 +2150,9 @@ "receiverThrottleExpo": { "message": "스로틀 EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'스틱 낮음' 한계값" }, diff --git a/locales/nl/messages.json b/locales/nl/messages.json index bfc33352a0..582a80e43e 100644 --- a/locales/nl/messages.json +++ b/locales/nl/messages.json @@ -1525,6 +1525,9 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'Stick Laag' drempel" }, diff --git a/locales/pl/messages.json b/locales/pl/messages.json index a46cc649c8..e32562f831 100644 --- a/locales/pl/messages.json +++ b/locales/pl/messages.json @@ -2156,6 +2156,9 @@ "receiverThrottleExpo": { "message": "Przepustnica EXPO" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Minimalna Pozycja Drążka" }, diff --git a/locales/pt/messages.json b/locales/pt/messages.json index 849577ce25..029fd9d076 100644 --- a/locales/pt/messages.json +++ b/locales/pt/messages.json @@ -2152,6 +2152,9 @@ "receiverThrottleExpo": { "message": "EXPO do Acelerador" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Limite 'Stick baixo'" }, diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json index d794c4ec38..31e5af8d31 100644 --- a/locales/pt_BR/messages.json +++ b/locales/pt_BR/messages.json @@ -1994,6 +1994,9 @@ "receiverThrottleExpo": { "message": "EXPO do Acelerador" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Limite 'Stick baixo'" }, diff --git a/locales/ru/messages.json b/locales/ru/messages.json index 41bb1411fb..d80552f55a 100644 --- a/locales/ru/messages.json +++ b/locales/ru/messages.json @@ -2131,6 +2131,9 @@ "receiverThrottleExpo": { "message": "Газ, экспонента" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Порог \"Stick Low\"" }, diff --git a/locales/uk/messages.json b/locales/uk/messages.json index ba99972425..74712d7fa9 100644 --- a/locales/uk/messages.json +++ b/locales/uk/messages.json @@ -2146,6 +2146,9 @@ "receiverThrottleExpo": { "message": "Експоненційність тяги" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "Поріг мін. значення стіка" }, diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json index 06d9b2fa1d..d51919d1fd 100644 --- a/locales/zh_CN/messages.json +++ b/locales/zh_CN/messages.json @@ -1722,6 +1722,9 @@ "receiverThrottleExpo": { "message": "油门 Expo" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "'摇杆低位' 阈值" }, diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json index 3144f3c899..d5ec8c9f6d 100644 --- a/locales/zh_TW/messages.json +++ b/locales/zh_TW/messages.json @@ -1438,6 +1438,9 @@ "receiverThrottleExpo": { "message": "油門 Expo" }, + "receiverThrottleHover": { + "message": "Hover Point" + }, "receiverStickMin": { "message": "‘搖桿低位’ 閾值" }, diff --git a/src/js/tabs/pid_tuning.js b/src/js/tabs/pid_tuning.js index 67b8d5c57f..faf59bfc87 100644 --- a/src/js/tabs/pid_tuning.js +++ b/src/js/tabs/pid_tuning.js @@ -113,6 +113,7 @@ pid_tuning.initialize = function (callback) { $('.throttle input[name="mid"]').val(FC.RC_TUNING.throttle_MID.toFixed(2)); $('.throttle input[name="expo"]').val(FC.RC_TUNING.throttle_EXPO.toFixed(2)); + $('.throttle input[name="hover"]').val(FC.throttle_HOVER.toFixed(2)); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { // Moved tpa to profile @@ -806,6 +807,7 @@ pid_tuning.initialize = function (callback) { FC.RC_TUNING.throttle_MID = parseFloat($('.throttle input[name="mid"]').val()); FC.RC_TUNING.throttle_EXPO = parseFloat($('.throttle input[name="expo"]').val()); + FC.RC_TUNING.throttle_HOVER = parseFloat($('.throttle input[name="hover"]').val()); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { FC.ADVANCED_TUNING.tpaMode = $('select[id="tpaMode"]').val(); @@ -1429,10 +1431,12 @@ pid_tuning.initialize = function (callback) { // let global validation trigger and adjust the values first const throttleMidE = $('.throttle input[name="mid"]'); const throttleExpoE = $('.throttle input[name="expo"]'); + const throttleHoverE = $('.throttle input[name="hover"]'); const throttleLimitPercentE = $('.throttle_limit input[name="throttleLimitPercent"]'); const throttleLimitTypeE = $('.throttle_limit select[id="throttleLimitType"]'); const mid = parseFloat(throttleMidE.val()); const expo = parseFloat(throttleExpoE.val()); + const hover = parseFloat(throttleHoverE.val()); const throttleLimitPercent = parseInt(throttleLimitPercentE.val()) / 100; const throttleLimitType = parseInt(throttleLimitTypeE.val()); const throttleCurve = $('.throttle .throttle_curve canvas').get(0); @@ -1460,7 +1464,7 @@ pid_tuning.initialize = function (callback) { const midX = canvasWidth * mid; const midXl = midX * 0.5; const midXr = (((canvasWidth - midX) * 0.5) + midX); - const midY = (canvasHeight - throttleScale * (midX * (canvasHeight / canvasWidth))); + const midY = (canvasHeight - throttleScale) * (1 - hover); const midYl = (canvasHeight - ((canvasHeight - midY) * 0.5 * (expo + 1))); const midYr = (topY + ((midY - topY) * 0.5 *(expo + 1))); diff --git a/src/tabs/pid_tuning.html b/src/tabs/pid_tuning.html index fd343de68d..23e4eea4c3 100644 --- a/src/tabs/pid_tuning.html +++ b/src/tabs/pid_tuning.html @@ -1062,12 +1062,14 @@ + + From c110272392b177460edef0f632b95f49b0885c64 Mon Sep 17 00:00:00 2001 From: Marc Frank Date: Fri, 8 Nov 2024 22:34:04 +0100 Subject: [PATCH 2/5] removed excess translations --- locales/ca/messages.json | 3 --- locales/de/messages.json | 3 --- locales/es/messages.json | 3 --- locales/eu/messages.json | 3 --- locales/fr/messages.json | 3 --- locales/gl/messages.json | 3 --- locales/it/messages.json | 3 --- locales/ja/messages.json | 3 --- locales/ko/messages.json | 3 --- locales/nl/messages.json | 3 --- locales/pl/messages.json | 3 --- locales/pt/messages.json | 3 --- locales/pt_BR/messages.json | 3 --- locales/ru/messages.json | 3 --- locales/uk/messages.json | 3 --- locales/zh_CN/messages.json | 3 --- locales/zh_TW/messages.json | 3 --- 17 files changed, 51 deletions(-) diff --git a/locales/ca/messages.json b/locales/ca/messages.json index df07a88f80..baa7b139e5 100644 --- a/locales/ca/messages.json +++ b/locales/ca/messages.json @@ -2160,9 +2160,6 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Llindar 'Stick Low'" }, diff --git a/locales/de/messages.json b/locales/de/messages.json index b5055e2cb7..fee92c4301 100644 --- a/locales/de/messages.json +++ b/locales/de/messages.json @@ -2104,9 +2104,6 @@ "receiverThrottleExpo": { "message": "Gas Expo" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "\"Niedriger Stickwert\" Schwellwert" }, diff --git a/locales/es/messages.json b/locales/es/messages.json index ed93f01991..300c4a518d 100644 --- a/locales/es/messages.json +++ b/locales/es/messages.json @@ -2152,9 +2152,6 @@ "receiverThrottleExpo": { "message": "Acelerador EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Umbral 'Palanca Baja'" }, diff --git a/locales/eu/messages.json b/locales/eu/messages.json index 4c4f46292c..ba299b713c 100644 --- a/locales/eu/messages.json +++ b/locales/eu/messages.json @@ -1456,9 +1456,6 @@ "receiverThrottleExpo": { "message": "Azeleragailu EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'Stick baxua' atalasea" }, diff --git a/locales/fr/messages.json b/locales/fr/messages.json index d3272f66ca..8870a16e1f 100644 --- a/locales/fr/messages.json +++ b/locales/fr/messages.json @@ -1832,9 +1832,6 @@ "receiverThrottleExpo": { "message": "Expo gaz" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'Manche en bas'" }, diff --git a/locales/gl/messages.json b/locales/gl/messages.json index acf9604882..dcd3601b59 100644 --- a/locales/gl/messages.json +++ b/locales/gl/messages.json @@ -2025,9 +2025,6 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'Stick Low' Threshold" }, diff --git a/locales/it/messages.json b/locales/it/messages.json index 6283c96ed0..c4134ed44a 100644 --- a/locales/it/messages.json +++ b/locales/it/messages.json @@ -2152,9 +2152,6 @@ "receiverThrottleExpo": { "message": "Esponenziale Gas" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Soglia \"Stick Giù\"" }, diff --git a/locales/ja/messages.json b/locales/ja/messages.json index b8a756a5e0..1cc6e8df76 100644 --- a/locales/ja/messages.json +++ b/locales/ja/messages.json @@ -2152,9 +2152,6 @@ "receiverThrottleExpo": { "message": "スロットル Expo" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "スティック 低" }, diff --git a/locales/ko/messages.json b/locales/ko/messages.json index 04ea788f4a..f9da83ba2e 100644 --- a/locales/ko/messages.json +++ b/locales/ko/messages.json @@ -2150,9 +2150,6 @@ "receiverThrottleExpo": { "message": "스로틀 EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'스틱 낮음' 한계값" }, diff --git a/locales/nl/messages.json b/locales/nl/messages.json index 582a80e43e..bfc33352a0 100644 --- a/locales/nl/messages.json +++ b/locales/nl/messages.json @@ -1525,9 +1525,6 @@ "receiverThrottleExpo": { "message": "Throttle EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'Stick Laag' drempel" }, diff --git a/locales/pl/messages.json b/locales/pl/messages.json index e32562f831..a46cc649c8 100644 --- a/locales/pl/messages.json +++ b/locales/pl/messages.json @@ -2156,9 +2156,6 @@ "receiverThrottleExpo": { "message": "Przepustnica EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Minimalna Pozycja Drążka" }, diff --git a/locales/pt/messages.json b/locales/pt/messages.json index 029fd9d076..849577ce25 100644 --- a/locales/pt/messages.json +++ b/locales/pt/messages.json @@ -2152,9 +2152,6 @@ "receiverThrottleExpo": { "message": "EXPO do Acelerador" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Limite 'Stick baixo'" }, diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json index 31e5af8d31..d794c4ec38 100644 --- a/locales/pt_BR/messages.json +++ b/locales/pt_BR/messages.json @@ -1994,9 +1994,6 @@ "receiverThrottleExpo": { "message": "EXPO do Acelerador" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Limite 'Stick baixo'" }, diff --git a/locales/ru/messages.json b/locales/ru/messages.json index d80552f55a..41bb1411fb 100644 --- a/locales/ru/messages.json +++ b/locales/ru/messages.json @@ -2131,9 +2131,6 @@ "receiverThrottleExpo": { "message": "Газ, экспонента" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Порог \"Stick Low\"" }, diff --git a/locales/uk/messages.json b/locales/uk/messages.json index 74712d7fa9..ba99972425 100644 --- a/locales/uk/messages.json +++ b/locales/uk/messages.json @@ -2146,9 +2146,6 @@ "receiverThrottleExpo": { "message": "Експоненційність тяги" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "Поріг мін. значення стіка" }, diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json index d51919d1fd..06d9b2fa1d 100644 --- a/locales/zh_CN/messages.json +++ b/locales/zh_CN/messages.json @@ -1722,9 +1722,6 @@ "receiverThrottleExpo": { "message": "油门 Expo" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'摇杆低位' 阈值" }, diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json index d5ec8c9f6d..3144f3c899 100644 --- a/locales/zh_TW/messages.json +++ b/locales/zh_TW/messages.json @@ -1438,9 +1438,6 @@ "receiverThrottleExpo": { "message": "油門 Expo" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "‘搖桿低位’ 閾值" }, From 6fbe9daf25813608036049511c24addd1b2bc271 Mon Sep 17 00:00:00 2001 From: Marc Frank Date: Fri, 8 Nov 2024 23:01:43 +0100 Subject: [PATCH 3/5] removed excess translations --- locales/da/messages.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/locales/da/messages.json b/locales/da/messages.json index 09a720bedc..cb01460b90 100644 --- a/locales/da/messages.json +++ b/locales/da/messages.json @@ -2115,9 +2115,6 @@ "receiverThrottleExpo": { "message": "Gas EXPO" }, - "receiverThrottleHover": { - "message": "Hover Point" - }, "receiverStickMin": { "message": "'Pind Lav'-tærskel" }, From a36e5563b0c869dd2f26850ad440da1f624f54f4 Mon Sep 17 00:00:00 2001 From: Marc Frank Date: Sat, 16 Nov 2024 14:36:51 +0100 Subject: [PATCH 4/5] Update pid_tuning.js - adjusted control point positions to avoid a step in the throttle curve --- src/js/tabs/pid_tuning.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/tabs/pid_tuning.js b/src/js/tabs/pid_tuning.js index faf59bfc87..9d5ac5c121 100644 --- a/src/js/tabs/pid_tuning.js +++ b/src/js/tabs/pid_tuning.js @@ -1462,11 +1462,11 @@ pid_tuning.initialize = function (callback) { // math magic by englishman const topY = canvasHeight * (1 - throttleScale); const midX = canvasWidth * mid; - const midXl = midX * 0.5; - const midXr = (((canvasWidth - midX) * 0.5) + midX); + const midXl = midX * (1 - expo); + const midXr = ((canvasWidth - midX) * expo) + midX; const midY = (canvasHeight - throttleScale) * (1 - hover); - const midYl = (canvasHeight - ((canvasHeight - midY) * 0.5 * (expo + 1))); - const midYr = (topY + ((midY - topY) * 0.5 *(expo + 1))); + const midYl = midY; + const midYr = midY; let thrPercent = (FC.RC.channels[3] - 1000) / 1000, thrpos = thrPercent <= mid From 9fb33c1756e5ddd1dc235a9c02ec013419267bd8 Mon Sep 17 00:00:00 2001 From: Marc Frank Date: Sat, 1 Feb 2025 15:22:56 +0100 Subject: [PATCH 5/5] Update pid_tuning.js --- src/js/tabs/pid_tuning.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/tabs/pid_tuning.js b/src/js/tabs/pid_tuning.js index 9d5ac5c121..ba545cbffc 100644 --- a/src/js/tabs/pid_tuning.js +++ b/src/js/tabs/pid_tuning.js @@ -113,7 +113,7 @@ pid_tuning.initialize = function (callback) { $('.throttle input[name="mid"]').val(FC.RC_TUNING.throttle_MID.toFixed(2)); $('.throttle input[name="expo"]').val(FC.RC_TUNING.throttle_EXPO.toFixed(2)); - $('.throttle input[name="hover"]').val(FC.throttle_HOVER.toFixed(2)); + $('.throttle input[name="hover"]').val(FC.RC_TUNING.throttle_HOVER.toFixed(2)); if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { // Moved tpa to profile