Conversation
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
PR Summary by QodoAdd integrated multirotor motor direction wizard
AI Description
Diagram
High-Level Assessment
Files changed (14)
|
Code Review by Qodo
1.
|
|
Configurator test build ready — commit Download build artifacts for PR #2794 Available platforms (scroll to the Artifacts section at the bottom of the run page):
|
|
I notice your bot seems to be copy-pasting several existing features, copying my own PRs from a month ago, a year ago, or two years ago. |
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 79162a4 |
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit d31bbd7 |
Start and stop of MSP2_INAV_SET_ESC_DIRECTION_TEST built their payloads by hand at the call sites. escDirectionTestPayload now validates motor and token against the same limits as the firmware, and the stop payload is a constant that cannot throw inside the stop retries. Both live in js/escDirection.js beside escDirectionPayload. The bytes sent are unchanged.
- Move settling of the pending direction write out of the status poll callback into settlePendingWrite(); the logic is unchanged. - Use an optional chain for the acknowledgement check. - Darken four text colours to at least 4.5:1 against their background. - Use <output> for the two status lines and give the dialog heading, motor heading and safety label fallback text; i18n replaces it on load.
|
|
The dialog duplicates the mixer motor wizard from #2580. Following b14ckyy's review on iNavFlight/inav#12011 the direction check moves into that wizard as one step, with a firmware setting instead of ESC config commands. Closing this PR; replacement follows once the firmware side is done. |



Problem and behavior
Add an integrated Motor Direction Wizard under Outputs, allowing selection, a short test pulse and Normal/Reverse ESC configuration without leaving INAV Configurator.
The dialog offers Wizard and Individually modes using the existing INAV mixer diagram and motor numbering. The wizard explicitly initializes each selected ESC to Normal, then offers hold-to-test, reverse and next-motor confirmation. Individual selection does not change configuration until Normal or Reverse is selected.
The entire launcher appears only for multirotor/tricopter platforms via FC.isMultirotor(), not motor count. Two-motor airplanes, rovers and boats keep it hidden and do not start direction polling.
Props-off acknowledgement gates all actions. Release, pointer cancellation/leave, keyboard release, blur and dialog/tab close request stop. Firmware independently expires pulses after 1.5 seconds. Existing arming rules remain unchanged; arming cancels the active operation. Ordinary motor tests remain available after the operation. Unsupported firmware disables the launcher. SITL is clearly identified as simulation; hardware status does not claim confirmed ESC storage.
Integration
Validation
Test instructions and limitations
Build this branch and the companion firmware with aligned version acceptance as described above. In the native app, use the companion SITL binary in Demo mode, configure Quad X and open Outputs → Motor direction wizard. Confirm the props warning, run the wizard, hold the test button, reverse and advance. Reopen Individual mode and select another motor. Switch to a two-motor airplane: the entire launcher must disappear.
Physical hardware testing remains outstanding. Remove all propellers before using matching board firmware with supported DShot ESCs. Check selected-output isolation, pulse stops, observed rotation and persistence after ESC/FC power cycle. See docs/development/esc-direction.md for protocol details and the hardware test plan.