Skip to content

Retry parameter writes when the CRSF output slot is busy - #50

Merged
jurgelenas merged 1 commit into
masterfrom
fix-dropped-writes
Oct 31, 2026
Merged

jurgelenas merged 1 commit into
masterfrom
fix-dropped-writes

Conversation

@jurgelenas

@jurgelenas jurgelenas commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Found on a real radio: changing RF Band right after the main page loaded, while the inner menus were still loading in the background, snapped it back to 868MHz.

crossfireTelemetryPush() returns false while the previous frame is still waiting to go out.
Writes ignored that, so a write made while fields were loading in the background
could be dropped. The tool then re-read the old value.

Writes now try once and go into the queue if the slot is busy; tick() only takes a
write off the queue once the push succeeds. The CRSF simulator mock now accepts only
one push per tick, like EdgeTX.

@github-actions

Copy link
Copy Markdown

Test build for 8ec300e

  • Download: expresslrs-lua-pr50-8ec300e.zip (requires a GitHub login; extract it, then extract the inner zip onto the SD card root). The tools show version 8ec300e.
  • Or install from source with: edgetx-cli pkg install ExpressLRS/Lua@fix-dropped-writes (shows version dev)

@jurgelenas
jurgelenas requested a review from CapnBry October 28, 2026 07:07

@CapnBry CapnBry left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yup, I saw this as well once and didn't look into it because it never happened again and I thought it was just me pushing the wrong button. This is the right way to manage it

@jurgelenas
jurgelenas merged commit 9b8135c into master Oct 31, 2026
2 checks passed
@jurgelenas
jurgelenas deleted the fix-dropped-writes branch October 31, 2026 10:32
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