Repository navigation
Conversation
Ports the wiki page "Custom mixes for exotic setups" into the docs site as docs/06-advanced-features/custom-mixes.mdx and repoints the wiki link in the multirotor setup guide at it. The examples and the CLI syntax were checked against the firmware on maintenance-10.x (src/main/fc/cli.c, src/main/flight/mixer.c, src/main/flight/servos.c, src/main/fc/settings.yaml) and against the Configurator mixer preset list and servo mixer input names on maintenance-10.x (js/model.js, js/fc.js). Refreshed while porting: - smix reverse no longer exists, rules are reversed with a negative weight - the servo command takes exactly five arguments, not six - servo mixer input 29 is now named Fixed Value instead of MAX - platform types and mixer preset names brought up to date - bicopter, dualcopter, singlecopter and helicopter mixes left out, since those presets are disabled with empty mixer tables and no mix can be verified against the firmware
PR Summary by QodoDocument custom mixes for exotic airframes
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1.
|
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 40327bb |
|
/agentic_review Please reassess the remaining flaperon range finding against the pinned firmware sources now linked in the page: https://github.com/iNavFlight/inav/blob/86a0441c0003466d54a7711e7240d8297c8d067f/src/main/fc/settings.yaml defines flaperon_throw_offset with default 200; https://github.com/iNavFlight/inav/blob/86a0441c0003466d54a7711e7240d8297c8d067f/src/main/flight/servos.h defines FLAPERON_THROW_MIN=50 and FLAPERON_THROW_MAX=450. The documented 200 and 50–450 match those sources. Changing them to 250 and 50–400 would contradict this firmware version. |
|
Code review by qodo was updated up to the latest commit be70b9b |
- A short mmix line prints a parse error but keeps the weights it read. - Servo rules must be contiguous like motor rules; the RC servo example slots now depend on whether the flaperon rules are present. - mmix/smix act on the selected mixer profile; motor count spans all profiles. - FLAPERON mode depends on has_flaps only, not on the platform type. - ROVER and BOAT are selectable platforms; only HELICOPTER is disabled. - mixer.mdx lists inputs 0-29 only; IDs above 59 are internal. - Servo endpoints, midpoint and rate stay on the absolute servo index; with two mixer profiles the lowest and highest index of both count. - The one-way flap example moves twice flaperon_throw_offset. - Gimbal inputs 12 and 13 follow the attitude only while CAMSTAB is active. - The RC servo example passes the channel through with weight 100, and smix reverse is described as rejected with a parse error.
Ports "Custom mixes for exotic setups" from the wiki to
docs/06-advanced-features/custom-mixes.mdxand updates the multirotor setup guide to link to it.Checked against the sources
Examples and CLI syntax were checked against maintenance-10.x: firmware
cli.c,mixer.c,servos.c,servos.h,fc_msp_box.c,settings.yaml, plus the Configurator mixer presets and servo input names injs/model.jsandjs/fc.js.Every mix that has a preset is identical to it; the flaperon, flap and RC-servo examples have none.
smix reversecommand with negative rule weights.servocommand to five arguments.mmixline keeps the weights it parsed despite the error.mmix/smixact on the selected mixer profile.FLAPERONmode is available wheneverhas_flapsisON(mixer.c,fc_msp_box.c).Bicopter, dualcopter, singlecopter and helicopter tables remain excluded: the wiki marked them untested and the corresponding Configurator presets are disabled with empty mixer tables. A dedicated section explains the missing verified mixes.
Also
docs/05-core-features/flight-modes-standard.mdxstatedflaperon_throw_offsetas default 250, max 400. The firmware defines default 200, range 50 to 450 (settings.yaml,FLAPERON_THROW_MIN/MAXinservos.h), so that line is corrected too.Validation
Merges cleanly into current master (
git merge-tree). A localnpx docusaurus buildof current master merged with this branch passes (Node 22,versions.jsonlimited to 9.1.0); its only warnings are the ones master itself produces (release notes directives, fwsetup and hardware-overview SSG). No PR previews exist on this repo.