Skip to content

DSMP V2 Enhacements for 2.12.x#7469

Draft
frankiearzu wants to merge 2 commits into
EdgeTX:2.12from
frankiearzu:dsmpV2_2.12
Draft

DSMP V2 Enhacements for 2.12.x#7469
frankiearzu wants to merge 2 commits into
EdgeTX:2.12from
frankiearzu:dsmpV2_2.12

Conversation

@frankiearzu

@frankiearzu frankiearzu commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Fixes #7467

LemonRX is comming out soon with DSMP V2. Full-Size and "Lite" version.
The JR-size module uses the same hardware as the V1 Module, but with new firmware.
The "Lite"-Size is new hardware but the same electronic design. just a smaller size.
Both use the same firmware.

Summary of changes:

  1. Show Firmware date instead of just version (Format YYMMDD.R)
  2. REMOVED until we have a better detection method. Automatically choose "Enable AETR" if the radio is configured for AETR. Only when you select the module the first time.
  3. Allow to choose "LemonDSMP" on radios who has a "Lite" Module (Like Pocket).
  4. Receiver Number now is respected by the module (V1 module always uses 0).
  5. Revise the module status string to fit better on B&W radios.

Spektrum Receivers
6. Forward Programming Support
7. Support up to 16 channels (X-Plus channels), Default to 12ch on the module screen

Most of the code was already there, but features turned on/off depending on the version of the module.
Code is backward compatible with V1 module.

Tested on TX16Mk2, RM Boxer. On Pocket sim since I don't have a "lite" module radio.
RX: LemonRX 7ch "TextGen", Spektrum AR637T, Orange RX DSM2 RX.

1.  16 channels  (X-Plus channels)
2.   Show Firmware date instead of just version
3.  Automatically choose "Enable AETR".
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 09996a25-ca82-47c5-b03f-08b1a43e52f3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@frankiearzu

frankiearzu commented Jun 17, 2026

Copy link
Copy Markdown
Contributor Author
image

Module status:

  1. Show Protocol used first (X_2F for DSMX 2 Frames/12ch).
  2. Module show Firmware build date (ex. 2026-05-28 Rev 1) for V2 modules, on V1 module will show "v1.0". Uses the short date format to fit properly on B&W radios.

Enable AETR: Will Auto-Populate the first time you select the module. This will be on if System->Radio Settings->Default Ch Order is AETR.

Channel Range: Now can go up to 16 channels. On Spektrum RXs this can be used for flight-mode, Gains, etc. Other RXs ignore them. Default starts at 12ch. After bind, it will change to the recomendation of the RX.

Receiver number: Now is respected, on V1 module, was hardcoded to 0 inside the firmware.

Example of using more than 12ch on Forward Programming:
image
image

@pagrey

pagrey commented Jun 17, 2026

Copy link
Copy Markdown

It seems like your check for AETR will also match a few others ARTE, EATR, ERTA, RETA.

The AETR setting on EdgeTX doesn't really do anything other than set some default model configurations. The way everything works now changing the radio from TAER to AETR doesn't have an impact on an existing models. With this change it will if this option is enabled.

Maybe it's best just to let the user select this option and leave the automatic part out?

@frankiearzu

frankiearzu commented Jun 17, 2026

Copy link
Copy Markdown
Contributor Author

You are right, need to add the other check. At least Ch2 (Ele). Since the mapping does not affect the Rud.
As for what value to default the "Enable AETR", we had a lengthy conversation with LemonRX and 2 other early testers of the module. And they requested that feature to be set according to the radio config. Most people will create a plane with the radio defaults, so having it match will help.

@3djc

3djc commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Actually that is not always true, by far. They copy model from their old radio, which might have been set to whatever, and new radio is set differently.

If there is automation, it must always work, not rely on luck. And since this setting is per model, it should be based on model settings; not radio

@pagrey

pagrey commented Jun 17, 2026

Copy link
Copy Markdown

I think the default is RETA and the debug code tests that... and fails?

@pfeerick pfeerick added this to the 2.12.3 milestone Jun 18, 2026
@frankiearzu

frankiearzu commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

The setting for "AETR" is only done when you select that module type for the first time. If it is a copy of a plane that already uses a DSMP module, it will retain the old setting. Open to just letting the user check that the settings are correct, since it's only when setting up the plane the first time.

@frankiearzu frankiearzu marked this pull request as draft June 18, 2026 23:34
@3djc

3djc commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Channel mapping exists on multiprotocol module, because various receiver type require different mappings. Here things are different because we deal only with DSM protocol, so there is a single 'correct' channel order. Models should therefore be configured for it

@frankiearzu

Copy link
Copy Markdown
Contributor Author

Removed the automatic setting of "AETR". We can add it later when we have a better way to analyze the model settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants