- Posts: 4402
Limits on inputs in the mixer
- PhracturedBlue
- Topic Author
- Offline
Vlad filed the following ticket on this (it has nothing to do with Virtual channels): bitbucket.org/PhracturedBlue/deviation/i...-channel-as-a-source
Basically what is happening is that when we apply the curve we limit the input to +/- 100% thus creating potential deadzones if you chain the output of one channel into the input f a 2nd.
The reason this was done is because many of the curves don't interpolate well beyond a +/-100% range. This is especially true of the expo and piecewise curves which can far exceed 200% if allowed to process inputs beyond +/- 100%
So I have a few options:
1) leave things as is. If you have an input to a mixer, it must be limited to +/- 100%
2) allow inputs beyond the +/-100% only for the non expo/piecewise functions
3) allow inputs beyond the +/-100% for all functions and trust the user to be careful with their functions
Having this be configurable is probably not an option, so I want to choose one. I'm currently considering option (2). This would at least allow rescaling an input to +/- 100% before operating on it (which you can't do today) without needing to worry about overflows.
In this model, you could take an input with a range outside +/-100%, use a complex mixer, have the 1st mixer reduce the value with a scaler, and then have following inputs operate on the function as necessary, thus never leaving a deadzone.
But I'm open to alternatives, so please give feedback.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
So from my point of view it should be better to limit all outputs(!) to +/-100%. If I want to realize a weighting of inputs it is possible to scale the input down what is as easy as scaling the output up. Disadvantage: I might have to do this wherever I use the output as input.
Example: Virt1: AIL 1:1 scale 125%
ch1: Virt1 1:1 (cropped to 100%) ==> -100%...+100%
(but only the AIL values +80% to 80% used)
mult ELE 1:1 ==> -100%...+100%
Against: Virt1: AIL 1:1 scale 100%,
ch1: Virt1 1:1 scale 80% ==> -80%...+80%
(but full range of AIL used)
mult ELE 1:1 scale 125% ==> -100%...+100%
As shown above I will always be able to produce a deadzone (simply adding enough values) - whatever of your proposals will be realized.
I still think it is necessary to reduce the inputs to +/-100% and give it to the user to make sure that his outputs don't exceed this range. So I would recommend solution 1 (I admit I can't remember why the scaling what increased to 125% - no necessity for me...).
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
To me, it is a question of having intuitive results vs allowing the user to (potentially unknowingly) shoot themselves in the foot.
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
But I'm afraid it can be complex task in case if 1st mixer will use 2 sources (V-Tail, Elevon and so on).
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
Yes; maybe I thought too short. I had the idea of an input scaling additionally to the existing output scaling to avoid this.PhracturedBlue wrote: You seem to be thinking about the case where virt1 has a single purpose which is to be fed to another mixer, but this applies just as much when you chain 'real' channels together. In this case you ned to reimplement the 1st stage with a different final scaler (or perhaps use the limit scaling at the end instead)
For me it seems to be very predictable when every mixer channel's input and output has a range of +/-100% (=+/-1). This way it can be concatenated at every position with each other because input and output range are identically (at least in theory: scaling down an output results in a smaller input range for the next input).To me, it is a question of having intuitive results vs allowing the user to (potentially unknowingly) shoot themselves in the foot.
Of course this can be broken by some special operations like "add" (and the only idea I have would be to divide the output by the number of "adds"+1 for proper normalizing - but this could be given to the user's liability, perhaps with a warning).
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Adding a pre-scaler is possible, but adds even more complexity for very little gain. Might as well just allow 1-to-1 to process values > 100% and use a post-scaler
Please Log in or Create an account to join the conversation.
- Home
- Forum
- General
- General Discussions
- Limits on inputs in the mixer