Fun, Learning, Friendship and Mutual Respect START  HERE

Go Back   HeliFreak > R/C Electronics Support > JR and Spektrum Radios and Electronics > 2.4G Spektrum Radios

2.4G Spektrum Radios Spektrum 2.4 Gigahertz Radios and Technology

Like Tree1Likes
LinkBack Thread Tools Display Modes
Old 03-14-2021, 03:01 AM   #61 (permalink)
Registered Users

Join Date: Jan 2021
Location: Brookside Village, TX

Originally Posted by ArchmageAU View Post
Yes, you are correct.

Formula should be as you described.
cell B5=IF(($A5-$B$3)>0,(($A5-$B$3)/100*$B$1),(($A5-$B$3)/100)*(-$B$2))
Thank you for pointing that out. I will ocrrect the original post.

(Hopefully that relieves the itch )
I realize that this is an old post, but with the Blade S3 requiring a 20% offset on channel 5 with high and low rates at 100%, I've been trying to understand Spektrum mixing. That said, I don't understand why the low rate is negated in the above formula. Equivalently, I don't understand the reversal of M-OS and OS-M in the following:

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:
Mixing on a spektrum radio (9 min 43 sec)

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
helifun15 is offline        Reply With Quote Quick reply to this message
Sponsored Links
Old 03-14-2021, 03:08 PM   #62 (permalink)
Registered Users

Join Date: Jan 2021
Location: Brookside Village, TX

Originally Posted by helifun15 View Post
Here is something to try with the Tableau dashboard above:

Set the controls to:

Slave channel initial value: 0
Rate High: 100
Rate Low: -100
Offset1: 0
Offset2: 0

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.
helifun15 is offline        Reply With Quote Quick reply to this message

Quick Reply

Register Now

In order to be able to post messages on the HeliFreak forums, you must first register.
Please enter your desired user name, your REAL and WORKING email address and other required details in the form below.
User Name:
Please enter a password for your user account. Note that passwords are case-sensitive.
Confirm Password:
Email Address
Please enter a valid email address for yourself. Use a real email address or you will not be granted access to the site. Thank you.
Email Address:
Where do you live? ie: Country, State, City or General Geographic Location please.
Name and Lastname
Enter name and last name here. (This information is not shown to the general public. Optional)
Helicopter #1
Enter Helicopter #1 type and equipment.
Helicopter #2
Enter Helicopter #2 type and equipment.
Helicopter #3
Enter Helicopter #3 type and equipment.
Helicopter #4
Enter Helicopter #4 type and equipment.


Thread Tools
Display Modes

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Copyright © Website Acquisitions Inc. All rights reserved.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.

SEO by vBSEO 3.6.1