-
Notifications
You must be signed in to change notification settings - Fork 1.7k
allow servo speed filter carry over on the mixer profile switch #10986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: maintenance-8.x.x
Are you sure you want to change the base?
allow servo speed filter carry over on the mixer profile switch #10986
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
@tohclin @SKelectronics @Pairan Any chance of testing these changes ? |
... sure ... I will flash it to my T1 VTOL and see what to repair after that :DDD #holdmybeer Guess I'll need a hand on how to get the hex and configurator #helpneeded |
Thanks for testing Other than this, please check all other behaviors is the same before this commit. |
got the files at hand ... will play with it and report back in! |
Configurator wont let me in 2025-07-28 @ 17:21:31 -- Flight controller info, identifier: INAV, version: 9.0.0 2025-07-28 @ 17:21:31 -- This firmware version is not supported. This version of Configurator supports firmware from 8.0.0 to 9.0.0 (excluded) I'm afraid I didn't get the Configurator V9 ... did I get the wrong link? |
Sure ... will do- yet I may need to check out what went wrong this time. could be that DIFF /ALL doesn't save the entire CLI that differs. So ... I'll dig into the config and then test it |
@shota3527 ... somehow my config behaves as before ... but not at yours. No servo speed on the way back from fixed wing to tricopter. ![]()
Did I miss something ? |
I have set the speed to 10us/s for both servos, in both mixers, including Mixer Transition. FW to Transition is smooth but starts with a sudden overshoot before going back the other way MR to Transition is smooth In other words, with the settings I have there is what appears to be some problem switching between the two mixers ![]() using commit |
@Pairan @MartinHugh |
Is this now a INAV 8.x.x version? Latest Build isn't INAV 9 somehow Tested it on the bench: IT WORKS as INAV 8.x.x! Observation: When switching from MR directly to FW everything goes very smoothly as desired. BUT when you switch back FW to TRANSITION while in TRANSITION it has the old behaviour and jumps I will test this live if the weather here is giving me a chance and report back in. |
Fun fact: I crashed my T1 VTOL yesterday :) Yet it was not because of the patch I guess. When switching from TRANSITION to Fixed wing the T1 went UP 90° and while getting grip of the situation (LOS) the ground came to fast :) I assume the servo speed needs to be rather fast that slow to make it a better experience. |
Sorr to hear the crash. I suggest do not use servo speed unless there is a hard ware limit on servo speed. |
Hi @shota3527 , I am simply an INAV user and do not know how to compile the code. Could you provide the target hex files? Many thanks. |
Hi @shota3527 , I managed to build the hex file. It works. Thank you for making the patch. |
Ifound that from transition mode to control profile 1 the mixer profile switch form mixer profile 2 to 1, which is fine, but from control profile 1 back to transition the mixer profile switch from 1 to 2, which is questionable. I would think the mixer profile stays at 1 is better. control 1(mixer1) ----mixer1 --- transition ----mixer2---- control 2 (mixer2) |
I do have a hardware limit on servo speed. |
User description
A requested feature by many tilting rotor VTOL build. The servo speed limit will not work properly during the mixer profile switch.
It was because the mixer profile switch will reload and reset all servo rules/speed limit filters. And still, there was no straightforward implementation to properly handle the servo speed limit.
This PR addresses the issue by adding new internal servo mixing rules during the mixer profile switch to carry over servoSpeedLimitFilter status and process it after the mixer profile switch
Bench test ok
PR Type
Enhancement
Description
This description is generated by an AI tool. It may have inaccuracies
Add servo speed filter carry-over during mixer profile switches
Implement helper structure to preserve filter states
Prevent servo speed limit reset on profile changes
Support tilting rotor VTOL builds with smooth transitions
Diagram Walkthrough
File Walkthrough
servos.c
Implement servo speed filter carry-over mechanism
src/main/flight/servos.c
switches
servoMixerSwitchHelper
array to store filter statesINPUT_MIXER_SWITCH_HELPER
input sourceservos.h
Add helper structures for servo filter preservation
src/main/flight/servos.h
INPUT_MIXER_SWITCH_HELPER
enum value for helper servo rulesservoMixerSwitch_t
structure to track filter states