Skip to content

DSM: Increase number of channels supported to 16 (X-Plus channels) #1137

@frankiearzu

Description

@frankiearzu

Allow the Multi-Module to transmit up to 16 channels in DSMX, compared to the current 12.

Why do we need more channels??

Spektrum has receivers who are 12 Ch outputs, but you can also configure an independent GAINS channel for each surface, as well as multiple switches for flight mode. 6-8 extra channels if all used.

The Spektrum Documentation explains how to add CH13-CH20.

The trick is to multiplex on the free 7th channel spot in the frame (on DSM X_2F), to send up to four extra channels.
The encoding is using the regular 11-bit value, but repurposed.
Transmitting on Ch ID=12 (CH13), the value is interpreted the following way:
The channel position is 9 bits, and the upper 2 bits are the X-Plus channel CH13-CH16 (lower frame) or CH17-CH20 (upper frame).
Since we are only refreshing each X-Plus channel every 4 frames, the channel refresh rate becomes 88ms.

Since the MM is working with max 16ch, we will only implement the lower frame (CH13-CH16).

SPEKTRUM DOC:
Image

PASCAL: I already have the code working, just testing a bit more. The only behaviour change is that CH14 will no longer be the THROTTLE_KILL logic, but used for a real channel. Have the code set up so you can enable/disable X-PLUS channels via #define.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions