|Register||FAQ||PM||Events||Groups||Blogs||Calendar||Mark Forums Read|
|2.4G Spektrum Radios Spektrum 2.4 Gigahertz Radios and Technology|
||LinkBack||Thread Tools||Display Modes|
|03-14-2021, 04:01 AM||#61 (permalink)|
Join Date: Jan 2021
Location: Brookside Village, TX
if (M-OS) is positive --> ADJ = ((M-OS)/100)*RH
if (M-OS) is negative --> ADJ = ((OS-M)/100)*RL
I understand how "-(M-OS) = (OS-M) , so ((M-OS)/100)*RH and ((M-OS)/100)*-RL also work as formulas" I just don't see how these get the values that are output by Spektrum TXs given what I've seen.
I will note that I have a DX6i that does not support this type of mixing (with an offset), so my ideas of how this mixing should work are based on videos and other forum posts.
My understanding is based, in part, on this video:
In that video, given a rate of 100% (high), 100% (low) and 0% offset (OS), then the slave channel (assuming a 0 initial value) will output exactly what the master channel is set at. So if the master, M, is 100, the slave outputs 100, if the master is -100 the slave outputs -100.
For M=-100, M-OS = -100 - 0 = -100
Now, according to what's written above since M-OS is negative, ADJ=((OS-M)/100)*RL, which is:
(0-(-100)/100))*100 = (100/100)*100 = 100. Adding this to 0 gives 100, but the final mix value should be -100.
If instead, we use ((M-OS)/100)*RL, we get ((-100-0)/100)*100) = -1*100 = -100, and then after adding to 0, we get the correct value.
The video also shows how changing the low rate to a negative value, gives positive values for negative values of the master. This also requires using either M-OS or leaving the negative off the RL in the alternative formula.
I only started looking into this because the new Blade S3, requires the panic button to mix Ch5 to itself with high and low rates of 100% and 20% offset. CH5 is controlled by a three way switch to change between Z, Stability and 3D modes. Flipping on the panic button, shifts channel 5 according to the specified mix. I only learned after contacting HH support, that my DX6i was not compatible, because it does not support the required mix. Instead, I set up the S3 on my TX16S, but could not get panic mode to work.
Pascal (hpnuts) programmed the mix on a DX6 and reported the following values:
"I have access to a DX6 G3 which I'm guessing is supported. I've setup the mixer GER->GER, Rate 100% and Offset 20%.
I see the following: FM0: 100%=1706, FM1:0%=1024, FM2: -100%=342, now if I activate panic: FM0: 150%=2047, FM1:-20%=888, FM2: -150%=1. The value 1706, 1024,... are the values that I get from Multi in DSM RX mode so directly what the DX6 G3 is sending over the air. Also throttle cut=-130%=138."
So master -> slave (with mix) values are as follows:
100% -> 150%
0% -> -20%
-100% -> -150%
Since this is mixing channel 5 with itself, we can assume that the initial slave channel value to which the adjustment is applied, is equal to the master channel value.
The equations given in the original posts, work for the first line above. 100%-20 = 80 is positive, so the adjustment is 80/100*100 = 80, resulting in 100+80 which is clipped to 150%.
The equations don't work for the next two lines:
0 - 20 = -20 is negative, so ADJ= (20-0)/100*100= 20, and 0 + 20 = 20 which is incorrect, because it should be -20.
-100 - 20 = -120 is negative, so ADJ = (20-(-100))/100*100=80, and -100+80=-20 when it should be -150.
I may be missing a % vs. value unit conversion here, but I believe that the interactive dashboard I put up on Tableau Public is correct. You can see it here:
This allows you to specify the two rates, an initial value for the slave channel, and two different offsets to see how the offsets affect the curve. I believe that the offset simply shifts the curve, such that a positive offset shifts the curve to the right on the graph and negative offset to the left.
The code I use for the adjustment is:
IF [Master - Offset1] < 0 THEN [Master - Offset1] * [Rate Low]/100
ELSE [Master - Offset1] * [Rate High]/100 END
Slave channel output is then:
IF [Slave Channel Initial Value] + [Adjustment1] > 150 THEN 150
ELSEIF [Slave Channel Initial Value] + [Adjustment1] < -150 then -150
ELSE [Slave Channel Initial Value] + [Adjustment1] END
|03-14-2021, 04:08 PM||#62 (permalink)|
Join Date: Jan 2021
Location: Brookside Village, TX
Set the controls to:
Slave channel initial value: 0
Rate High: 100
Rate Low: -100
You should see a graph that looks like a V, centered at 0 on the x axis. As in the DSM mixing video above, setting rate low to -100 negates all master channel values below the offset (0 in this case), which means that the mix outputs the absolute value of the master channel at all times.
Now change Offset2 to 20. You can now see two V's: the original for Offset1 at 0 (orange) and the second for Offset2 at 20 (red). Note that the second is just shifted right by 20 units.
Now change Offset2 to -20 and note that the red line just shifts 40 units to the left of where it was with offset2 = 20 (or 20 units left of x=0).
I'd post images here, but I don't seem to have the ability to upload images and I have no idea where to host them.