Limit Pitch/Roll/Yaw max control %

Is there built-in way to limit the amount of percentage of each loop max command before it gets to the mixer?

Reason: Assuming that the AP comes to conclusion that there’s a very high roll rate command, for example, +70% correction the current roll. It can make the left rotor to go to 0% and the right ones to 100%. and that’s not the intent…
I want to limit that command to about 30% for Roll, 30% for Pitch and some for Yaw (The thr should not have limit) before it makes it to the mixer to avoid an overshoot on the vehicle response.

This is a mixer level change. Here’s a somewhat relevant open PR + discussion.

Thanks @dagar.
I reviewed the PR it related to the issue, but not directly. The PR doesn’t handle a limit each control (pitch/roll/yaw). I think that this limit should be on the mc_att_control level, not on the mixer.
I also think it should be a parameter.

After some more tests (and crash…) I think that the more critical issue is that specific motor can go to low RPM and it doesn’t produce thrust. which is not good when the motor needs to go high again, it takes much more response time to generate thrust from 0. @bkueng also mantioned that in the PR.
There is the idle_speed parameter that fixes that issue, it doesn’t allow the motor to go to too low. I faced problem with this mixer parameter because it in the end of the logic and by changing it its like to change all the most inner loop gains. I think that parameter should have been just a clamping effect than a scalling effect.
Does the MIN_PWM should be used for that? Or it’s a “constant” value that should be set according to the ESC?