mirror of
https://github.com/safijari/openpuck.git
synced 2026-11-04 06:34:45 +00:00
Labels
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
safijari/openpuck#283
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/safijari/openpuck/pull/313
Author: @safijari
Created: 10/14/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @safijari
Base:
main← Head:low-signal-polling📝 Commits (1)
f88e173Keep fading slots at full poll rate and retry missed polls📊 Changes
1 file changed (+17 additions, -2 deletions)
View changed files
📝
OpenPuck/rf_link.cpp(+17 -2)📄 Description
Addresses the low-signal disconnects in #293.
Cause (hypothesis, not yet confirmed from a capture): while another controller is live, a slot silent for more than 300 ms dropped to one poll every 50 ms, then to one poll every 2 s after 5 s. The controller drops the session if it hears no polls for a while, so backing off during a fade makes the fade worse. This matches the report that it mostly happens with two controllers, and the 3-5 s reconnect.
Changes
SLOT_QUIET_MS300 -> 2500 ms: a fading slot keeps full-rate polling through short fades. A controller that sent an explicit power-off frame (0xF2) still backs off after 300 ms (new per-slotg_slotPoweredOff).Risk: a controller that vanishes without a power-off frame (dead battery, out of range) now gets up to 2.5 s of full-rate polling instead of 300 ms. With two controllers vanishing together this is the radio-duty pattern behind the #72 watchdog resets.
Testing:
make checkandmake buildpass. Flashed to a puck; not yet verified on hardware (palm over the USB-C end with two controllers; power one off while the other is live and watch for resets).🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.