Skip to content

DSM: Fix for timing afecting some DSMX receivers - #1190

Closed
frankiearzu wants to merge 1 commit into
pascallanger:masterfrom
frankiearzu:DSM_timing_fix
Closed

frankiearzu wants to merge 1 commit into
pascallanger:masterfrom
frankiearzu:DSM_timing_fix

Conversation

@frankiearzu

@frankiearzu frankiearzu commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Most newer Spektrum works well, but with LemonRX the movement of the servos is not that smoth. Seems like sometimes it stops for a bit.
On an OrangeRX R610V2, i also see some hesitation on the servo movement, but much less than with LemonRX.

The DSM_READ_DELAY change to fix the Surface telemetry is affecting some DSMX receivers.
On 1.4.3.31 everything was working fine, when upgrading to 1.4.3.63, the problem showed up.

On 1.4.3.31, DSM_READ_DELAY = 400, and it was reduced to 300 later to fix telemetry on a surface receivers.

The fix is to only use the new timing for surface protocols and use the older timing for Air.
That seems to fix the problem.

One of the reported problems on RCGroups:
https://www.rcgroups.com/forums/showpost.php?p=55105703&postcount=26692

@pascallanger

pascallanger commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

There was 2 delays change and all due to this specific receiver Spektrum SR6200A and the SR6100AT #1060

  1. #define DSM_READ_DELAY 300 from 400
  2. return 10900 - DSM_WRITE_DELAY - DSM_READ_DELAY; from 11000

The first one is affecting all DSM. The second one is only affecting DSMR.

So not sure how to proceed to get everything working together. It looks like I had this receiver in my hands so I should still have it to test. But I won't be able to get to it until next week.
I'm thinking to revert both changes for now and see if I can tweak the values a bit better.

@frankiearzu

Copy link
Copy Markdown
Contributor Author

Looks like we have to be very specific with the SR6200A and the SR6100AT.

My tentative fix was to keep the old/good timing of DSM_READ_DELAY of 400ms for all AIR protocols, and only change to 300ms (and the 10.900ms) for only surface, but looks like that change also affected other DSMR receivers.

You are right, revert to how it was on 1.4.3.31, and see what we can do for those RXs.
I can test with AR637, LemonRX, and OrangeRX.

@frankiearzu

Copy link
Copy Markdown
Contributor Author

If you are releasing a new version.. consider including #1179, this was to fix to work with up to 16ch instead of just 15ch (due to the 4 bit limitation).

@frankiearzu

Copy link
Copy Markdown
Contributor Author

No longer needed

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.

2 participants