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
Machine is polling PIUIO at 250 Hz #46
Comments
https://github.com/geefr/stepmania-linux-goodies/wiki/So-You-Think-You-Have-Polling-Issues yes we do :( We have:
|
me, via some dude i met at R1 SCM tonight
andrew:
|
looks useful https://superuser.com/a/1237222 |
I looked at
e: at this point it's either recompile a kernel module (how?), or use geefr's kernels. |
geefr's kernels that force poll to 1 kHz didn't work. Specifically, they caused USB input to be intermittent. We had to revert back to 4.13.0-39 generic. I'm now wondering if there's some glitch with our USB input that is causing this. To wit, some log output: [ 2.551981] usb 1-2: device descriptor read/64, error -71
[ 2.760002] usb 1-2: new high-speed USB device number 3 using ehci-pci
[ 2.887988] usb 1-2: device descriptor read/64, error -71
[ 3.119985] usb 1-2: device descriptor read/64, error -71
[ 3.327986] usb 1-2: new high-speed USB device number 4 using ehci-pci
[ 3.759985] usb 1-2: device not accepting address 4, error -71
[ 3.863997] usb 1-2: new high-speed USB device number 5 using ehci-pci
[ 4.295981] usb 1-2: device not accepting address 5, error -71
[ 4.296040] usb usb1-port2: unable to enumerate USB device Is this the PIUIO?
|
Looks like Linux now has a usbhid.kbpoll parameter as part of mainline (sorry, not there in stable), so there's no need for the custom kernel stuff. I've also had some intermittent input issues so I'd suggest ditching my kernels if you're able to upgrade. I can upload a stock 4.18 kernel if anyone needs it, but as always you should generally build your own. |
Haven’t compiled a kernel in a little while, but I’ll give it a shot when i get a chance! Thanks for the suggestion. |
i'm still suspecting it's a stepmania issue (since, it seems that the testing implies that we are getting 1khz). relatedly, we can make piuio clones with off-the-shelf microcontrollers: https://github.com/racerxdl/piuio_clone @DinsFire64 says he |
For the record Adding So that said by loading the
Also side note I still had to compile Here's the output on my cabinet with a JPAC and a PIUIO connected. Mashing face buttons and stomping on the top two arrows to hit 1kHz polling, and using an aligator clip to slide along the JAMMA card edge for the JPAC. |
hold on if 10ms is the smallest window we want in demonic (andrew’s special mode) then that’s 100hz, and nyquist says we need 200hz. so, if stepmania is polling at 250hz, we should be fine, right? |
@vyhd claims that if you want a window to feel fair, you need 1/4 the size of the window. “if you have a 40 ms window, you want the I/O to poll at 10 ms or faster” “anywho, the "at least 4 cycles per window" is a rule of thumb, we derived it qualitatively rather than mathematically” so we want to poll at 400hz at least for demonic, 200hz should be sufficient for ecfa (20ms wide iirc?) |
(update top-level post by ian5v request)
TLDR as title.
Longer explanation:
Observed poll rate with the PIUIO is limited to 250 Hz, but it should be at least double that. To observe this, play Vinyl and watch the hit distribution graph at the end - all the spikes will be located at a constant modulo 4ms.
Things that we have already tried that did not work:
usbhid.jspoll = 1
(see below).conf
line somewhere inetc
(see below)geefr
kernels caused the PIUIO to stop responding to input, requiring manual removal (see below)Todo of possible approaches:
The text was updated successfully, but these errors were encountered: