-
Notifications
You must be signed in to change notification settings - Fork 356
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
Servo mixing under Flying Wing mode not working on latest release. (2015-08-27) #296
Comments
I'll be looking forward a patch that fixes it ;)
|
Non of the Servo models work any more. |
cool
|
Can't we just roll back the stuff lazd commited ? |
how about getting him to fix it instead?
|
Hes over on cleanflight now? |
I'm on Holiday's shouldn't be looking into code but...I want it to fly my Yesterday I checked it a bit. Seems the mixer is a bit messed. I could be wrong but seems the mixer rules are overriding itself.
|
Line 333 in ba9c0d2
The condition in this line is wrong! It should be mcfg.mixerConfiguration == MULTITYPE_CUSTOM_PLANE |
Actually it's not that easy any more. It should load the custom mixer if we have a MULTITYPE_CUSTOM_PLANE or the feature SERVO_MIXER is active and the current model type does not have a default servo mixer. Or should the feature SERVO_MIXER always activate the custom servo mixer chain? if (mcfg.mixerConfiguration == MULTITYPE_CUSTOM_PLANE || feature(FEATURE_SERVO_MIXER))
loadCustomServoMixer(); |
@schugabe that was my first change as well. But doing that only makes the elevator mix work the ailerons still don't work. What I did was to leave the current check and add and extra one for the feature. if (core.useServo & feature(FEATURE_SERVO_MIXER))
loadCustomServoMixer(); |
@lazd Any input? Your change seems to have negatively impacted people. |
left a turd at front door and ran away?
|
@schugabe No, that would defeat the purpose of #289, titled "Make servoMixer work for types other than CUSTOM_PLANE." As What if we moved the call to |
@schugabe @Nandox7 with the release you were having problems with previously, try setting up your servo mixer rules differently. The mapping for
|
@schugabe that might be the case. Given that we have a number of different ways to setup servos, it seems my assumption that the servo mixer could run for any multitype that uses servos was wrong -- mutlitypes have their own, hardcoded servo mixer rules that are getting blown away by the custom servo mixer, and they never actually setup servo mixer rules using Ideally, when a given multitype is selected, the default rules would be added to the custom servo mixer for that type ( After my PR, you would have to manually setup custom servo mixer rules to map your elevator and ailerons to stick inputs, which is obviously a breaking change. I didn't realize this at the time, but it makes sense now. |
@lazd I thought so. Not sure what's the ideal solution here, but moving into a pure smix style could be one. |
The way I implemented the servo mixing had a reason: clean up the hard coded mess. Custom servo mixing was more or less a nice by product because the implementation was flexible enough to support it as well. My main problem with the suggested "load default rules to smix storage in all cases" is that there are no API/events that would allow to implement this without touching several different places where the actual model is set. Many different use cases must be considered. It results in a more complex implementation without any real benefit. I think that most of the people just want to select a model and are done => therefore the load default rules based on model type during initialization is the default case and imho should stay the default case. Just out of curiosity: What models do need the feature servo mixer? |
@schugabe I wanted to use the servo mixer to map an AUX switch to a servo output for a QUADX. This is insanely easy to do on the CC3D with OpenPilot, and I was surprised that it was impossible when I moved to Naze32 + Baseflight. Baseflight is full of hardcoded features, such as support for gimbals that sits behind a feature, which enables servos for QUADX with a hardcoded calculation, but gives zero flexibility when it comes to configuring or overriding anything. I added the SERVO_MIXER feature in hopes of making the flexibility of the servo mixer available everywhere, but it seems there are just too many hardcoded features we have to work around for this to be both flexible and easy. |
I was away for some time but picking on this again. |
Should be still there, I haven't seen anyone doing anything with this. On Wed, Nov 4, 2015 at 12:47 AM, Nandox7 notifications@github.com wrote:
|
patches welcome, especially if they're not hacks On Wed, Nov 4, 2015 at 1:38 AM, Larry Davis notifications@github.com
|
@lazd rolling the commits back doesn't mean it's not welcome, just that it needs a little rework to iron out the issues. ;-) |
Could you maybe roll back on the Hex file to? |
Hey,
Tried to update to the latest FW release (2015-08-27) and the servo mixing in Fling Wing Mode doesn't work.
Reverting to the previous one, makes it work. (2015-07-11)
Checking latest commits this one may be the culprit: ba9c0d2
I'll be running a few more tests with it.
The text was updated successfully, but these errors were encountered: