From 31b1929588ba5d153a115984da87eb6093f03efd Mon Sep 17 00:00:00 2001 From: Raffi1202 <250872901+Raffi1202@users.noreply.github.com> Date: Wed, 23 Sep 2026 15:53:38 +0200 Subject: [PATCH 1/2] Mixer wizard: check each motor's spin direction after locating it DShot only. After the positions are known every output is spun for two seconds and the user confirms the direction against the arrows or reverses it, which flips that output's bit in dshot_reversed_motors. The firmware re-sends the direction commands on its own; nothing is written to the ESC. Hidden on PWM ESCs and on firmware without the setting. --- locale/de/messages.json | 18 +++++++ locale/en/messages.json | 18 +++++++ src/css/tabs/mixer.css | 7 +++ tabs/mixer.html | 19 +++++++ tabs/mixer.js | 115 ++++++++++++++++++++++++++++++++++++++-- 5 files changed, 172 insertions(+), 5 deletions(-) diff --git a/locale/de/messages.json b/locale/de/messages.json index 95a070fa4..38f674a3b 100644 --- a/locale/de/messages.json +++ b/locale/de/messages.json @@ -5402,6 +5402,24 @@ "mixerWizardStop": { "message": "Not-Stopp" }, + "mixerWizardDirectionQuestion": { + "message": "dreht. Dreht er so, wie der Pfeil an seiner Position zeigt?" + }, + "mixerWizardDirectionHint": { + "message": "„Umkehren“ weist den ESC per DShot-Befehl an, andersherum zu drehen; im ESC selbst wird nichts geändert. Danach den Mixer speichern, damit es erhalten bleibt." + }, + "mixerWizardDirectionSpin": { + "message": "Nochmals drehen" + }, + "mixerWizardDirectionCorrect": { + "message": "Dreht richtig" + }, + "mixerWizardDirectionReverse": { + "message": "Umkehren" + }, + "mixerWizardDirectionSkip": { + "message": "Richtungsprüfung überspringen" + }, "settings": { "message": "Einstellungen" }, diff --git a/locale/en/messages.json b/locale/en/messages.json index e9392b784..17b670dbb 100644 --- a/locale/en/messages.json +++ b/locale/en/messages.json @@ -5852,6 +5852,24 @@ "mixerWizardStop": { "message": "Emergency Stop" }, + "mixerWizardDirectionQuestion": { + "message": "is spinning. Does it turn the way the arrow at its position shows?" + }, + "mixerWizardDirectionHint": { + "message": "Reverse tells that ESC to spin the other way with a DShot command; nothing is changed in the ESC itself. Save the mixer afterwards to keep it." + }, + "mixerWizardDirectionSpin": { + "message": "Spin again" + }, + "mixerWizardDirectionCorrect": { + "message": "Turns correctly" + }, + "mixerWizardDirectionReverse": { + "message": "Reverse" + }, + "mixerWizardDirectionSkip": { + "message": "Skip direction check" + }, "settings": { "message": "Settings" }, diff --git a/src/css/tabs/mixer.css b/src/css/tabs/mixer.css index c6f16e478..d5605a5b7 100644 --- a/src/css/tabs/mixer.css +++ b/src/css/tabs/mixer.css @@ -252,6 +252,13 @@ border-color: #1e8449; } +/* Position button of the motor whose spin direction is being checked */ +.wizard-position-btn.checking { + background-color: #f39c12; + border-color: #d68910; + animation: pulse 1s infinite; +} + @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } diff --git a/tabs/mixer.html b/tabs/mixer.html index 372187d05..0bc2c8ed9 100644 --- a/tabs/mixer.html +++ b/tabs/mixer.html @@ -246,6 +246,25 @@

+ + +