mirror of
https://github.com/safijari/openpuck.git
synced 2026-11-03 22:30:22 +00:00
[PR #230] [MERGED] Implement ESB forwarding, fix haptics/command overlap #252
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#252
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/230
Author: @Leseratte10
Created: 8/10/2026
Status: ✅ Merged
Merged: 8/21/2026
Merged by: @safijari
Base:
main← Head:fwdtest📝 Commits (10+)
bdd85a4Test1e4d59fTestb5d2c1aTestca27324more dang tests07079aatest95fd4b2Cleanup2c99df2Stall req if not ready85aceb0Stupid library bugsb8fef0cMore fuckery8443620Cleanup📊 Changes
21 files changed (+447 additions, -450 deletions)
View changed files
📝
OpenPuck/OpenPuck.ino(+1 -0)📝
OpenPuck/bonds.h(+6 -0)📝
OpenPuck/config.cpp(+3 -6)📝
OpenPuck/haptics.cpp(+101 -134)📝
OpenPuck/haptics.h(+5 -22)📝
OpenPuck/identity.cpp(+9 -4)📝
OpenPuck/mode_hidgyro.cpp(+1 -0)📝
OpenPuck/mode_ps3.cpp(+1 -0)📝
OpenPuck/mode_ps5.cpp(+1 -0)📝
OpenPuck/mode_switch_hori.cpp(+1 -0)📝
OpenPuck/mode_switch_pro.cpp(+1 -0)📝
OpenPuck/mode_xinput.cpp(+1 -0)📝
OpenPuck/puck_hid.cpp(+168 -211)📝
OpenPuck/puck_hid.h(+0 -4)📝
OpenPuck/rf_link.cpp(+43 -0)📝
OpenPuck/serial_console.cpp(+1 -22)➕
OpenPuck/steam_commands.h(+86 -0)📝
OpenPuck/webusb_config.cpp(+3 -4)📝
ReversePuck/scpair.py(+2 -5)📝
docs/PROTOCOL.md(+13 -32)...and 1 more files
📄 Description
After wasting almost seven hours, and using up my entire Claude limit twice, I believe I have a very early PR ready that should fix / implement #227. Don't look at the messy commit history, I'll fix the clang-format errors and squash them all together once it's ready.
It still has a bunch of ToDo's in it, but it finally allows you to do the following:
This means, requests for a controller's bond records, for a controller's serial number and for a controller's firmware version are now no longer spoofed by OpenPuck but instead actually forwarded to the controller wirelessly and then answered by the controller. This should fix #227 and #205 and #208 and probably others, too.
It also means that quite a bit of workaround code can now be removed. In fact this PR removes more lines of code than it adds, and I'm fairly certain there's more code (like related to haptics) that could now be removed.
There's still a couple things that should be checked before merge?
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.