Closed GoogleCodeExporter closed 8 years ago
Unless I understand wrong, it's already the case.
For example this setup:
CH1: 100%RUD
+ 100% RUD
CH2: 50%CH1
Will result in CH2 moving over the full range. So the 200% result from the CH1
mixers is carried over, even if the limits make the actual CH1 servo output
clip at +/-100%.
Original comment by bernet.a...@gmail.com
on 23 Oct 2012 at 11:54
Original comment by bson...@gmail.com
on 23 Oct 2012 at 12:06
What I have run into is a need to multiply by factors of say 4.5 or more,
although I confess to not trying the additive approach. Keeping track of
multiple additive rows/multiplication rows is not a lot of fun, and having the
option to put say *457% rudder would be helpful
thanks!
Original comment by greg.mcf...@gmail.com
on 23 Oct 2012 at 12:27
The problem is that weights, offsets, limits and most other values are stored
in EEPROM and RAM as 8-bit signed numbers, so they can range from -128 to +127,
which is limited to +/- 125 for "cleanliness". Extending those to 16bit would
be way too heavy on resources.
However I see a possible solution... Bertrand is currently implementing a
"Global variable" system, where we have 5 variables that can be defined as
being equal to a certain value or mapped to an input or output, and then used
on any numerical parameter instead of setting a number.
Those are currently 8-bit, but could be extended to 16bit with reasonable
impact on memory (only 5 values instead of dozens). Then if you want to set a
mixer with 457% RUD, you'd instead set the weight of that mixer line to use the
GV1 global variable, and then set GV1 to 457%.
Original comment by bernet.a...@gmail.com
on 23 Oct 2012 at 2:18
That would work perfectly I think.
Original comment by greg.mcf...@gmail.com
on 23 Oct 2012 at 2:22
Done. Today the range [-500:+500] is allowed in the mixer. Still not completely
tested...
Original comment by bson...@gmail.com
on 24 Oct 2012 at 8:40
Original issue reported on code.google.com by
greg.mcf...@gmail.com
on 18 Oct 2012 at 1:55