Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Controller event history buffer unreliability #16

Open
Entropy512 opened this issue Oct 27, 2022 · 0 comments
Open

Controller event history buffer unreliability #16

Entropy512 opened this issue Oct 27, 2022 · 0 comments

Comments

@Entropy512
Copy link

I've been noticing the controller event history being quite flaky, with spontaneous events being triggered in some scenarios, and controller buttons entering a "stuck" state until hit again in others.

Comparing to chiaki - it appears that pyremoteplay is assuming that all events are three bytes, while some are only two bytes (see chiaki_feedback_history_event_set_button in lib/src/feedback.c of chiaki for reference) - any event that returns instead of breaking from the switch statement is only 2 bytes not 3.

It also appears that chiaki is using a circular buffer of 16 events, while pyremoteplay is using a circular buffer of 16 bytes if I am reading the code correctly - but 16 events can be between 32 and 48 bytes. (Chiaki is allowing the packet to be as large as 0x300, but from reading the code I cannot figure out how that would ever happen, or even any circumstances under which you would come close/exceed 48 bytes of event history payload.)

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

No branches or pull requests

1 participant