You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added the code to support the Spektrum X-Plus channels (CH13-CH16) encoding and multiplexing.
No need to change anything in the TX code, since the TX is already transmitting 16ch to the Multi-Module, even if the channel range is CH1-CH12. XPlus channels will only be transmitted on DSM X2F when using 12 channels, not when is fewer.
Changing the MM and TX firmware send CH17-20 will be much more work on the TX, and TX->MM protocol, but 16ch is a good start.
The X-Plus channels are very LOW refresh channels, 88ms compared to the regular 11ms/22ms servo refresh... not intended for surfaces, but for low priority items, like gains, flight modes, and with a channel extender, other servos.
Tested with:
EdgeTX TX16 2.11.3
EdgeTX Boxer 2.11.3
Ethos X20S 1.6.2
RX:
AR637TA Using CH16 for flight mode.
LemonRX Gen2 Ignores extra channels
NOTE: CH14 Throttle Kill functionality is still ON by default for backward compatibility, I think at some point of time, it should be deprecated, since the same functionality can be done with most new radios with a Thr Kill functionality (EdgeTX special function).
Set up your radio, so that the Flight-Mode switch uses Ch16. The Channel range remains Ch1-Ch12. If you did not have range up to 12 channels, re-bind.
Using forward programming, Gyro->Settings, FMode setup, Move the flight mode channel to Ch16. You can see that when you move the switch, the flight mode should change.
Now the receiver should change flight modes using Ch16.. On EdgeTX you can see the "FM" sensor changing. In ETHOS, the sensor is called "Flight-Mode".
The X-Plus channels are very LOW refresh channels, 88ms compared to the regular 11ms/22ms servo refresh... not intended for surfaces, but for low priority items, like gains, flight modes, and with a channel extender, other servos.
Examples of X-Plus multiplexing from a DX-18. Protocol DSMX (it uses all 20 channels by default).
Each frame encodes 7 channels. The Multi-Module with DSM X2F uses only the first 6 channels of the frame; the last channel is always 0xFFFF, which means no-channel.
On the DX-18, The last 2 bytes of the frame have the 7th channel encoded using the X-Plus format,
where it encodes channels CH13-CH20
The encoding of the X-Plus channels is: Phase(1-bit), Ch (4-bits), X-Plus-Ch (2-bits), Data (9-bits)
Channel will always be 12 (Channel 13), and X-plus is the channel after Ch13 when phase=0 or after Ch17 when phase=1
On this example, the last channel is 0x65 0x00 which translates to binary:
0110 0101 0000 0000 = 0-1100-10-100000000 Phase=0, Ch=12, X-Plus-Ch=2, Data = 512, that is Ch15=512
In this example, the last channel is 0xE7 0xAE which translates to binary:
1110 0111 1010 1110 = 1-1100-11-110101110 Phase=1, Ch=12, X-Plus-Ch=3, Data = 430, that is Ch20=430
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1137
Added the code to support the Spektrum X-Plus channels (CH13-CH16) encoding and multiplexing.
No need to change anything in the TX code, since the TX is already transmitting 16ch to the Multi-Module, even if the channel range is CH1-CH12. XPlus channels will only be transmitted on DSM X2F when using 12 channels, not when is fewer.
Changing the MM and TX firmware send CH17-20 will be much more work on the TX, and TX->MM protocol, but 16ch is a good start.
The X-Plus channels are very LOW refresh channels, 88ms compared to the regular 11ms/22ms servo refresh... not intended for surfaces, but for low priority items, like gains, flight modes, and with a channel extender, other servos.
Tested with:
RX:
AR637TA Using CH16 for flight mode.
LemonRX Gen2 Ignores extra channels
NOTE: CH14 Throttle Kill functionality is still ON by default for backward compatibility, I think at some point of time, it should be deprecated, since the same functionality can be done with most new radios with a Thr Kill functionality (EdgeTX special function).